Uploading to Apple App Store Connect / TestFlight
To submit your app to the official Apple App Store or to distribute it via TestFlight, you need to upload it to App Store Connect using your Apple Developer account. The Darwin Build Environment includes an "App Store Connect upload tool" for this purpose.
Checklist for App Store Connect Upload:
App Build Requirements:
Signed with Distribution Certificate: Your app must be signed using a distribution certificate.
App Store Provisioning Profile: It must use an App Store type provisioning profile.
Explicit App ID: The provisioning profile must have an explicit App ID (not a wildcard).
(Refer to 8.1. Digital Signing Identities Explained and 8.2. Provisioning Profiles Explained for details on certificates and profiles).
The App Store Connect upload tool can help re-sign already packaged apps if needed.
Valid App Record on App Store Connect:
You must have created an app record for your app on the App Store Connect website.
App Store Connect Credentials:
Your App Store Connect account login and password.
Possibly an app-specific password if your account uses two-factor authentication.
Detailed Steps:
Prepare Your App Build:
Ensure your app is built and signed (or can be re-signed by the tool) with a distribution certificate.
Ensure your app embeds an App Store type provisioning profile that contains an explicit App ID.
Explicit vs. Wildcard App ID: An explicit App ID is for one specific app (e.g.,
com.yourcompany.yourapp
). A wildcard App ID can be used for multiple apps (e.g.,com.yourcompany.*
). Apple requires explicit App IDs for App Store submissions.If your current profile is a wildcard, you'll need to:
Create an explicit App ID in the Apple Developer portal.
Create a new "App Store" distribution provisioning profile using this explicit App ID.
Create App Record in App Store Connect:
Log in to the App Store Connect website.
Go to "My Apps".
Click the "+" sign to create a new app record.
Fill in the form:
Platform (iOS, macOS).
App Name.
Primary Language.
Bundle Identifier: This must exactly match the bundle ID specified in your app's
make.cmd
file (or in the Unity editor settings if it's a Unity app).SKU (a unique string for your reference).
App-Specific Password (if using Two-Factor Authentication):
If your Apple ID has two-factor authentication enabled, Apple will require you to generate an app-specific password for use with third-party upload tools.
You can generate this from the Apple ID management page (appleid.apple.com). The original document provided a direct link, then navigate to Security -> Generate Password. Use this app-specific password in the upload tool instead of your main Apple ID password.
Use the App Store Connect Upload Tool:
Launch the "App Store Connect upload tool" provided with the Darwin Build Environment.
Follow its prompts to select your app package (
.ipa
or.pkg
), provide your credentials (and app-specific password if applicable), and initiate the upload.
Last updated