Skip to content

All articles

TestFlight is not a launch

App Store Connect paperwork, invites, and AI consent are the release. The IPA is the easy part.

22Atlas

Product studio

3 min read

A processed build nobody outside the pod can open is still a rehearsal.

The binary is in App Store Connect. Someone posts a screenshot of Ready to Test. Testers open TestFlight and get The requested app is not available. That gap is the release work. The compile was the easy hour.

Sign the paperwork first

The Account Holder has to accept the Paid Apps agreement under Agreements, Tax, and Banking. That is true even when the app is free. Pending User Info almost always means missing bank or tax forms. Until the row is Active, invites fail in ways that look like a signing or bundle-id bug. The Free Apps agreement is a separate row. Check both before you debug Xcode.

Export compliance, age rating, and a privacy policy URL belong on the record before you promise a tester date. External groups will stall without Test Information: what to test, a feedback email, contact, privacy policy. Internal can limp along without that form. Teams then invent folklore about why only the pod can install.

Processing is not ready

An upload can sit in Processing for fifteen to sixty minutes, sometimes longer. Adding people to a group before the build is Valid is how you get ghost invites. Re-uploading a new number while the first is still processing restarts the clock. Wait for Valid. Then attach the group.

Internal and external are different products

Internal testers are App Store Connect users, up to 100. They skip Beta App Review. After processing they can install in minutes. External testers can be thousands. The first build of a version needs Beta App Review, often a few hours, sometimes two days. Later builds of the same version often skip the full pass.

Pick the channel on purpose. Known operators should live in an internal group or an MDM path. A consumer loop that hides in a twenty-person tester list is not a launch. It is a private rehearsal with a home-screen icon.

Invite confusion is usually the Apple ID

The tester has to accept the email on the Apple ID signed into TestFlight on that device. Media & Purchases on a different account is a classic miss. Resend the invite. Ask them to open the mail, not the TestFlight search box. Rebuilding the IPA almost never fixes this.

AI consent before the model call

If the app sends personal data to a third-party model, App Review expects an in-app disclosure and explicit permission before the first transmission. Guideline 5.1.2 now names third-party AI. A paragraph in the privacy policy is not that permission. A bundled I agree to the Terms checkbox is not either. The Privacy Nutrition Label in App Store Connect has to match the binary, including the SDK. External TestFlight can hit this on the first build of a version. Fix the consent screen before you burn a review cycle on a prompt tweak.

A processed build nobody outside the pod can open is still a rehearsal.

What launch means here

A named audience finishes the job on a date someone will defend. TestFlight is a pipe. Mobile App Development under Services includes the ASC work, the invite path, and the consent screen.

Start your build if you want that pipe to open on purpose, not after a month of App not available.

Get our Articles and posts by email.

Up to one email a day with new Articles and posts from 22atlas.com and sean-weldon.com, plus occasional news about 22Atlas services.