Upload to Apple App Store

Note: To enable to feature, please reach out to support

TestFairy provides the ability to upload your production app directory to the Apple App Store.

Configuring the Integration

Go to settings, and select Apple App Store.

You need to create credentials from Apple iTunesConnect in order to upload apps. You can get the credentials by going to the User and Access, selecting the Keys tab, and then selecting "App Store Connect API" form the right-side menu. Click the '+' button to add a new set of keys. Be sure to download the .p8 file used to signed API requests, and take note of the Issuer ID and the Key ID. Note, you'll have to give Admin access to these keys in order to upload an app from TestFairy to the Apple App Store.

Once you have the Issuer ID, Key ID and the private key (.p8), go back to the settings page, and fill in the form with the necessary keys, and upload the private key.

Once its uploaded, you should see the associated Issuer ID, and Key ID on the integration page. Verify the account matches the one in App Store Connect.

At this poiint, your integration should be configured for upload.


From any build page, click the Upload button.

Note in order to upload a build to the App store, a meta data file is required by Apple. You will be prompted with the following screen if the file has not been uploaded:

The meta data can be generated by your build system with the following command:

xcrun swinfo -f /path/to/app.ipa -o /path/AppStoreInfo.plist -plistFormat binary

Once the meta data has been uplaoded, you will see an upload dialog that summarizes what will be uploaded to Google Play Store.

Note: TestFairy will not publish your app publically, it will upload the build to the store in, bute requires the owner of the app in apple iTunesConnect to publish the app itself pubically.

After uploading, the dialog will display the uploaded state of the app.

If you go into Apple iTunesConnect, you should see your app listed in the "TestFlight" section page under "iOS Builds".

Last updated on 2022-05-19