AppForShareCreate a free account

TestFlight groups and beta review, asked for once on the send

Team

After a build reaches App Store Connect, someone still has to wait for Apple to process it, add it to the right TestFlight groups and submit it for beta review. In Codemagic that is beta_groups and submit_to_testflight in codemagic.yaml; by hand it is a second visit to App Store Connect, often an hour later.

On Team, the Admin who sends a build to TestFlight from AppForShare can ask for both in the same confirm. AppForShare waits for Apple to finish processing, then does exactly what that Admin asked on that send, and nothing more.

Example

Notes 1.8.0 (61), Send to TestFlight

  • ProcessingDone by Apple
  • GroupsQA (internal), Clients (external): build added
  • Beta reviewSubmitted, Apple reviews
  • Asked bySara (Admin), on this send
Nothing is submitted unless the Admin asked for it on that send.

Made for

  • Teams moving the TestFlight publishing step out of codemagic.yaml or fastlane
  • Agencies that send client builds to TestFlight groups of the client's app
  • Anyone tired of coming back to App Store Connect after processing

What it ends

  • Waiting for processing before you can add the build to a group
  • External testers who never got the build because nobody submitted it for review
  • Not knowing who gave which build to which TestFlight group

How it works

  1. Step 1

    Send to TestFlight

    On the build page of an App Store signed .ipa, open Send to TestFlight. The app's TestFlight groups, internal and external, are listed live from App Store Connect.

  2. Step 2

    Pick groups, tick beta review

    Pick the groups and tick "submit for beta review when processed". Add What to Test, or the build's release notes are used. Tick the confirmation and send.

  3. Step 3

    Apple processes the build

    Once Apple reports the build as processed, AppForShare gives it to those groups and submits it for TestFlight beta review.

  4. Step 4

    One email with the result

    The Admin who sent it gets one email with what was done, or why a step was skipped.

Only what the Admin asked, only on that send

AppForShare submits a build for TestFlight beta review only when an Admin asked for it on that Send to TestFlight, after Apple has processed the build. It never does it on its own. Every call to App Store Connect is in the connection's activity under that Admin, and the workspace activity names them.

It stops without writing anything when Apple cannot process the build, the workspace is no longer on Team, the person is no longer an Admin, or the store app is no longer shared with the workspace.

When review is skipped

If the build is not waiting for beta review, the review step is skipped with Apple's reason: export compliance not answered, already in review, approved, rejected or expired. The groups still get the build. The email says what happened.

Apple still reviews and decides. External testers get the build only after Apple approves it.

From the CLI and CI

appforshare store-upload <build> --to testflight --groups "QA,Clients" --beta-review --yes asks for both on a send, and store-upload <build> --list-groups shows the app's groups. Right after a CI upload, use upload app.ipa --store-upload testflight --testflight-groups "QA,Clients" --beta-review --yes with an Admin's token. The MCP server only reads the result.

Good to know

Questions

Does AppForShare submit builds for beta review on its own?
No. Only when an Admin ticked it, or passed --beta-review, on that send.
Do external testers get the build at once?
No. Apple reviews the build first; external testers get it after Apple approves it.
Which plan do I need?
Team. Pro sends builds to TestFlight with What to Test, without the groups and beta review step.
How is this different from TestFlight tester sync?
Tester sync keeps the people in a TestFlight group in step with an AppForShare tester group. This gives a new build to groups and asks for review when you send it.

Read next

Try it on your own app

Free account in a minute. Pro starts with a 7 day free trial.

More features