1. Store Configuration
  2. /
  3. Apple Developer

Apple Developer

On this page

This page covers the Apple side of shipping iOS builds with Blaze. The Flutter project side is covered in iOS Setup.

What Blaze Needs from Apple

  • An Apple Developer Program membership and its Team ID.
  • The app's bundle ID registered, and the app created in App Store Connect.
  • One App Store Connect API key: its Issuer ID, Key ID and .p8 file.

That is all. Blaze signs through Apple's cloud signing with the API key, so you do not create distribution certificates or provisioning profiles, export .p12 files, or give Blaze an Apple ID password.

Join the Apple Developer Program

Enroll at developer.apple.com/programs as an individual or as an organization. Organizations need a D-U-N-S Number, and Apple verifies the organization before the membership starts. The membership has an annual fee.

Find Your Team ID

In your Apple Developer account, open Membership details. The Team ID is a 10-character code of capital letters and digits, such as ABCDE12345.

Blaze uses it to sign every iOS build. Enter it on Signing & keys, in the App Store Connect API key card: with the key when you upload it, or on its own with Save Team ID once a key is connected.

Register the Bundle ID

  1. In your Apple Developer account, open Certificates, Identifiers & Profiles → Identifiers and click +.
  2. Choose App IDs, then App.
  3. Enter a description and an explicit bundle ID that matches PRODUCT_BUNDLE_IDENTIFIER of the Runner target in your Xcode project, such as com.example.app.
  4. Enable the capabilities your app's entitlements use, such as Push Notifications or Sign in with Apple, and register it.

Register the bundle ID of each app extension (for example com.example.app.NotificationService) the same way.

Create the App in App Store Connect

  1. In App Store Connect, open Apps and choose + → New App.
  2. Select iOS, enter the name and primary language, choose the bundle ID you registered, enter a SKU and create the app.
  3. Copy the app's number from its App Store Connect URL (…/apps/1234567890/…) into App Store app ID in Blaze's iOS settings, and check that Bundle ID there matches. iOS tester groups in Blaze need the app ID.

App Store Connect only accepts uploads for a bundle ID that has an app record, so create the app before the first iOS deployment.

Create an App Store Connect API Key

You need the Account Holder or Admin role in App Store Connect to create the key.

  1. In App Store Connect, open Users and Access → Integrations → App Store Connect API, on the Team Keys tab. The first time, the Account Holder has to request access to the API.
  2. Click + (or Generate API Key), name the key, for example Blaze, and give it the App Manager role.
  3. Note the Issuer ID shown above the list of keys, and the key's Key ID.
  4. Click Download next to the key and keep AuthKey_<Key ID>.p8 somewhere safe. Apple lets you download it only once, so if you lose the file, revoke the key and create a new one.

Use a team key. An individual key has no Issuer ID, and Blaze cannot use it.

Connect the Key in Blaze

Open the application page, then Signing & keys from the ··· menu, and in the App Store Connect API key card enter Issuer ID and Key ID, then choose the .p8 with Upload .p8. Blaze checks the key with Apple when you save it. iOS Setup walks through it step by step.

Only workspace owners and admins can upload keys. Each app has its own key. When another app in the workspace already has one that works, as apps in one Apple Developer team usually do, the card offers Copy from that app instead of an upload.

TestFlight Testers

TestFlight has two kinds of testers:

  • Internal testers are App Store Connect users on your team, up to 100. Their builds need no review.
  • External testers are invited by email, up to 10,000. A build needs Apple's Beta App Review before external testers can install it.

A tester group in Blaze can be an iOS Internal or External group. Syncing is on demand, and each member shows whether its sync to App Store Connect succeeded. When you deploy with TestFlight (External), Blaze adds the build to the app's External groups once App Store Connect has processed it; you still submit the build for Beta App Review in App Store Connect. See Deployment.

Troubleshooting

App Store Connect rejects the API key. The Issuer ID, the Key ID and the .p8 must all belong to one team key that has not been revoked. Upload the key again on Signing & keys.

Code sign & export fails with "Cloud signing permission error". The key's role does not allow cloud signing. iOS Setup explains which role it needs.

The upload is rejected because no app matches the bundle ID. Create the app in App Store Connect with the bundle ID your Xcode project uses.

The upload is rejected because of the version. After a version is approved for the App Store, new builds need a higher version. Raise version: in pubspec.yaml.

Next Steps