For the complete documentation index, see llms.txt. This page is also available as Markdown.

Distribute to Stores

Distribute to Stores

Once a build succeeds, you can distribute it to the app stores directly from App Maker — no Xcode, Transporter, or Play Console upload needed. This page covers creating a distribution, the iOS (TestFlight / App Store) flow, and the Google Play track flow.

Creating a Distribution

  1. Open the build's detail page and go to the Distributions section.

  2. Click Distribute and select the target store. The store is determined by the build's OS: iOS builds go to the Apple App Store, Android builds to Google Play (or Huawei AppGallery).

  3. Choose the release track:

    • iOSTestFlight or Production.

    • Androidinternal, alpha, beta, or production.

  4. Confirm. The upload is queued and its progress appears in the distribution list.

Each distribution has its own timeline showing every state change (pending → uploading → uploaded → store review states), and its own log download. A distribution that has not started uploading can be cancelled.

Distribution requires valid store credentials (App Store Connect / Google Play API keys) on the project. See Credentials.

iOS: TestFlight and App Store

Beta Review and Export Compliance

After the binary is uploaded, TestFlight distribution typically requires two submissions, both available as actions on the distribution:

  • Export Compliance — declare the app's encryption usage. Until this is submitted, the build stays in the Missing Compliance state.

  • Beta Review — submit the build to Apple's beta review so it can be distributed to external testers.

External Testers

Once beta review is approved, you can distribute the build to TestFlight external test groups. App Maker lists your existing external groups from App Store Connect; select the group(s) to grant access to the build.

Releasing to the App Store

For a production release, use the Release action on the distribution. Two release types are supported:

  • All at once — the update is available to every user as soon as Apple approves it.

  • Phased release — Apple rolls the update out gradually over 7 days to users with automatic updates enabled. While a phased release is active you can pause, resume, or complete it early from the distribution actions.

Expiring a Build

To remove a build from TestFlight (for example, to stop testers from installing an outdated version), use the Expire Build action.

Android: Google Play Tracks

Google Play distributions target one of four tracks: internalalphabetaproduction.

  • Upload — a new distribution uploads the artifact to the selected track.

  • Promote — instead of re-uploading, promote an existing distribution to a higher track (e.g. from internal to production). Promotion reuses the reviewed artifact, so it is the fastest path to production.

  • Phased (staged) rollout — when releasing to production, you can release to a percentage of users and increase it over time.

Keeping Store Status in Sync

Store review states change on Apple's and Google's side. The distribution list refreshes these via store sync — use the refresh action if the displayed state looks stale. The build's overall store state (e.g. Ready for Sale) is also visible on the Build Detail page.

  • Build Detail — timeline, logs, artifact download.

  • Force Update — retire old versions after a release.

  • CodePush — ship JS-only fixes without a new store release.

Last updated

Was this helpful?