Deploying an iOS app to iTunes Connect

Deploying with Ship

This guide talks about deploying with the official Bitrise deploy Steps. We recommend checking out Ship, our deployment solution that aims to save you a lot of headache in publishing your apps: Deploying with Ship.

You can deploy an app to iTunes Connect (rebranded as App Store Connect) to:

On Bitrise, you can either simply just upload your binary to iTunes Connect or you can also submit it for review.

Two-factor authentication

Two-factor authentication (2FA) is mandatory for all Apple Developer Portal accounts. If, during your build, Bitrise needs to access your Apple Developer Portal account, it will have to go through 2FA.

To make this work, connect your Apple Developer Account to Bitrise. That allows Bitrise to reuse your authentication sessions for 30 days so you do not have to manually go through 2FA on every single occasion.

Before you start

Make sure that you have:

Register the app on iTunes Connect. Keep in mind that every time you want to push an app to iTunes Connect, it must have a unique build and version number - increment either or both before deploying.

Deploying the app

To deploy the app to iTunes Connect, we have two Steps:

Deploy to iTunes Connect - Application Loader is simple: it simply pushes an .ipa or .pkg binary file to iTunes Connect. With this Step, you cannot submit the app for review on the App Store, for example.

Deploying an iOS app to iTunes Connect

With the Deploy to iTunes Connect Step, you can:

  1. Make sure the Certificate and profile installer Step or the iOS Auto Provision with App Store Connect API Step is in your Workflow.

    Do NOT use both!

  2. Make sure the Xcode Archive & Export for iOS Step is in your Workflow.
  3. Set the Select method for export input of the Step to app-store.

    The Step will store the path of the exported .ipa file in the $BITRISE_IPA_PATH Environment Variable.

    Deploying an iOS app to iTunes Connect

  4. Add the Deploy to iTunes Connect Step to your Workflow.
  5. Fill the required inputs.
    • Either the app’s Apple ID or its Bundle ID is a required input. One of the two must be provided.
    • If you set the Submit for Review to true, the Step will wait for your submission to be processed on iTunes Connect and then submit the given version of the app for review.
    • The default value of the Skip App Version Update input is No. Change it only if you incremented the app version in another way.
    • If you use an iTunes Connect account that is linked to multiple teams, provide either a Team ID or a Team name!
  6. Start a build.

If all goes well, your app will be submitted to iTunes Connect and you can distribute it via Testflight or via the App Store!