- Home
- Code signing
- iOS code signing
- Creating a signed IPA for Xcode projects
Creating a signed IPA for Xcode projects
You can easily create a signed IPA file for your Xcode project with Bitrise if you have your Apple connection set up correctly and you made code signing files available to your builds.
Overview on iOS code signing in Bitrise
For a comprehensive overview on what Steps are available for code signing asset management, visit the iOS code signing page.
You can easily create a signed IPA file for your Xcode project with Bitrise.
-
You have set up Apple service connection on Bitrise.
-
You set the relevant inputs of our Xcode Archive and Export for iOS Step.
Upload the distribution AND the development signing certificates
We strongly recommend uploading BOTH the development and distribution signing certificates for your project. If you don't have an uploaded development signing certificate, Steps with automatic provisioning options will generate one on the fly every time you start a build. This can eventually lead to reaching the maximum number of certificates, blocking you from starting new builds.
If you’re all set, proceed to setting up IPA export in your Workflow.
Workflow Editor
bitrise.yml
-
Make sure the necessary code signing files have been collected and uploaded.
-
Make sure you have the Xcode Archive & Export for iOS Step in your Workflow.
-
Set the Distribution method input of the Step.
The options are:
-
app-store
: Choose this if you want to deploy the app to the App Store. Requires a Distribution certificate and an App Store provisioning profile. -
ad-hoc
: Choose this if you want to deploy the app to ad-hoc testers. Requires a Distribution certificate and an Ad Hoc provisioning profile. -
enterprise
: Choose this if you have an Apple Enterprise account and want to use that to distribute your app. -
development
: Choose this for internal testing. Requires a Developer certificate and a Development provisioning profile.
-
-
Set the Automatic code signing input to the Apple service connection you want to use for code signing. The available options are:
-
off
if you don’t use automatic code signing. -
api-key
if you use API key authorization. -
apple-id
if you use Apple ID authorization.
-
-
Save the Workflow, and start a new build.
-
Make sure all the necessary code signing files are available for your build.
-
Open the
bitrise.yml
file of your app. -
Make sure you have the
xcode-archive
Step in your Workflow.my-workflow: steps: - xcode-archive: inputs:
-
Set the
distribution_method
input to the correct value. The available options are:-
app-store
: Choose this if you want to deploy the app to the App Store. Requires a Distribution certificate and an App Store provisioning profile. -
ad-hoc
: Choose this if you want to deploy the app to ad-hoc testers. Requires a Distribution certificate and an Ad Hoc provisioning profile. -
enterprise
: Choose this if you have an Apple Enterprise account and want to use that to distribute your app. -
development
: Choose this for internal testing. Requires a Developer certificate and a Development provisioning profile.
my-workflow: steps: - xcode-archive: inputs: - distribution_method: development
-
-
Set the
automatic_code_signing
input to the Apple service connection you want to use for code signing. The available options are:-
off
if you don’t do automatic code signing. -
api-key
if you use API key authorization. -
apple-id
if you use Apple ID authorization.
my-workflow: steps: - xcode-archive: inputs: - automatic_code_signing: api-key - distribution_method: development
-
That’s all. Xcode will automatically select the right signing files based on your project’s Bundle ID and Team ID settings, and the export method you set.
Signing an IPA file with a different team’s code signing file
You might want to sign the IPA file with a different team’s code signing files. For example:
-
If you use your company’s code signing files for internal builds, but your client’s code signing files are used for App Store distribution.
-
If you use Apple ID for automatic code signing and the Apple ID belongs to multiple teams, use The Developer Portal team to use for this export input to specify which team should be used for automatic code signing asset management.
To do so:
-
Make sure the right code signing files of the new development team are uploaded to Bitrise.
-
Set the The Developer Portal team to use for this export option as well (in addition to the Distribution method).
-
Set the Distribution method.
A Step is a block of script execution that encapsulates a build task on Bitrise: the code to perform that task, the inputs and parameters you can define for the task, and the outputs the task generates.
A Workflow is a collection of Steps, Environment Variables, and other configurations. When Bitrise starts a build, it runs one or more Workflows according to the configuration defined in the bitrise.yml
file.