Deploy to iTunes Connect with Deliver
Upload screenshots, metadata and binaries to App Store Connect (iTunes Connect) and submit your app for App Store review.
Upload screenshots, metadata and binaries to App Store Connect (iTunes Connect) and submit your app for App Store review, using the fantastic deliver fastlane action. You can upload iOS, macOS, or Apple TV apps with the Step.
This Step, however, does NOT build your binary: to create an IPA or PKG file, you need the right version of the Xcode Archive Step, or any other Step that is capable of building a binary file.
Before you start using this Step, you need to do a couple of things:
To deploy your app with the Step:
automatic
(this is the default setting), api_key
or apple_id
.off
. Use only one of the authentication methods.
yes
. Please note that if you do submit the app for review, the Step will be successful only if the submission is accepted by App Store Connect.Make sure your Apple ID credentials are correct. Be aware that if you use two-factor authentication, you need to set up a connection with Apple ID.
Always make sure that Platform input is set to the correct value.
The Step can also fail if the Xcode Archive Step - or any other Step that builds your binary - did not generate an IPA or PKG with a app-store
export method.
Add this step directly to your workflow in the Bitrise Workflow Editor.
You can also run this step directly with Bitrise CLI.
Key | Description | Flags | Default |
---|---|---|---|
connection |
The input determines the method used for Apple Service authentication. By default, any enabled Bitrise Apple Developer connection is used and other authentication-related Step inputs are ignored. There are two types of Apple Developer connection you can enable on Bitrise: one is based on an API key of the App Store Connect API, the other is the legacy method of session-based authentication with an Apple ID. You can choose which type of Bitrise Apple Developer connection to use or you can tell the Step to only use the Step inputs for authentication: - automatic : Use any enabled Apple Developer connection, either based on Apple ID authentication or API key authentication. Step inputs are only used as a fallback. API key authentication has priority over Apple ID authentication in both cases. - api_key : Use the Apple Developer connection based on API key authentication. Authentication-related Step inputs are ignored. - apple_id : Use the Apple Developer connection based on Apple ID authentication. If no app-specific password has been added to the used connection, the Apple ID: App-specific password Step input will be used. Other authentication-related Step inputs are ignored. - off : Do not use any already configured Apple Developer Connection. Only authentication-related Step inputs are considered. |
required | automatic |
api_key_path |
Specify the path in an URL format where your API key is stored. For example: https://URL/TO/AuthKey_[KEY_ID].p8 or file:///PATH/TO/AuthKey_[KEY_ID].p8 . NOTE: The Step will only recognize the API key if the filename includes the KEY_ID value as shown on the examples above. You can upload your key on the Generic File Storage tab in the Workflow Editor and set the Environment Variable for the file here. For example: $BITRISEIO_MYKEY_URL |
||
api_issuer |
Issuer ID. Required if API Key: URL (api_key_path ) is specified. |
||
itunescon_user |
Email for Apple ID login. | sensitive | |
password |
Password for the specified Apple ID. | sensitive | |
app_password |
Use this input if TFA is enabled on the Apple ID but no app-specific password has been added to the used Bitrise Apple ID connection. NOTE: Application-specific passwords can be created on the AppleID Website. It can be used to bypass two-factor authentication. | sensitive | |
team_id |
The app's Team ID on App Store Connect. NOTE: This field or the Apple ID: Team name is required when authenticating using Apple ID and the account is linked to multiple publishing teams. For example: 2040826 |
||
team_name |
The app's Team Name on App Store Connect. NOTE: This field or the Apple ID: Team ID is required when authenticating using Apple ID and the account is linked to multiple publishing teams. | ||
ipa_path |
Path to your IPA file to be deployed. NOTE: This input or the PKG path is required. | $BITRISE_IPA_PATH |
|
pkg_path |
Path to your PKG file to be deployed. NOTE: This input or the IPA path is required. | $BITRISE_PKG_PATH |
|
platform |
The platform of the app. | required | ios |
app_id |
The app's Apple ID on App Store Connect. NOTE: This input or the App Bundle ID is required. Open the app's page on App Store Connect, click on App Information, from the General Information section, copy the Apple ID's value from here. It's a numeric value, for example, 846814360. | ||
bundle_id |
The app's Bundle ID on App Store Connect. NOTE: This input or the App Store Connect App ID is required. | ||
submit_for_review |
Wait for the submission to be processed and then submit the app for review for this specific version? If this option is set to no , the Step won't wait for the new version to be processed on App Store Connect and won't submit it for review automatically. If this input is set to yes , the Step will wait for the submission to be processed which might take a couple of minutes after the new version is deployed to App Store Connect. Note that in this case the Step will only be successful if the submission is accepted by App Store Connect! |
required | no |
skip_metadata |
Don't upload the metadata. This will still upload screenshots. | required | yes |
skip_screenshots |
Don't upload the screenshots. | required | yes |
skip_app_version_update |
Don't update the app version for submission. | required | no |
gemfile_path |
Path to the Gemfile which contains the fastlane gem. If a Gemfile doesn't exist or doesn't contain the fastlane gem and if the fastlane version input isn't specified, the latest fastlane version will be used. |
./Gemfile |
|
fastlane_version |
This option lets you specify a version of the fastlane gem to be installed. - latest-stable installs the latest stable version. - latest installs the latest version of fastlane including pre-release (release candidate) versions. |
latest-stable |
|
options |
Options added to the end of the deliver call. If you want to add more options, list those separated by space character. Example: --skip_metadata --skip_screenshots |
||
itms_upload_parameters |
deliver uses the iTunes Transporter to upload metadata and binaries. If you are behind a firewall, you can specify a different transporter protocol using this input. Read more on Apple Transporter User Guide. |
||
verbose_log |
Enable verbose logging? | required | no |
We welcome pull requests and issues against this repository.
For pull requests, work on your changes in a forked repository and use the Bitrise CLI to run step tests locally.
Note: this step's end-to-end tests (defined in e2e/bitrise.yml
) are working with secrets which are intentionally not stored in this repo. External contributors won't be able to run those tests. Don't worry, if you open a PR with your contribution, we will help with running tests and make sure that they pass.
Learn more about developing steps: