Uptika
EN
Start free
App Store

TestFlight guide: internal and external testing, public links and limits

TestFlight is Apple's beta testing service in App Store Connect: you can give a build to up to 100 internal testers from your team without review and to up to 10,000 external testers per app by email or public link after a TestFlight review, and each build stays testable for 90 days.

Uptika teamPublished: Last updated: 5 min readMarkdown version

What is TestFlight?

TestFlight is the beta testing part of App Store Connect. You upload a build once, choose who gets it, and testers install it with the free TestFlight app on their device. It works for iOS, iPadOS, macOS, tvOS, visionOS and watchOS apps, and it needs the paid Apple Developer Program membership (see Apple Developer account).

What are TestFlight's limits?

LimitValue
Internal testersUp to 100 App Store Connect users
External testersUp to 10,000 per app
Devices per testerUp to 30
Builds you can shareUp to 100, several tested at once
Build lifetime90 days after upload, then unavailable to testers
TestFlight review submissionsUp to 6 builds in 24 hours
Builds per version in reviewOne at a time
Public link tester capAny number from 1 to 10,000

Internal or external testing: which one?

Internal testingExternal testing
WhoYour App Store Connect users (Account Holder, Admin, App Manager, Developer, Marketing)Anyone with an Apple Account
How many10010,000 per app
ReviewNoneFirst build needs TestFlight review
InvitationAdded to an internal groupEmail, CSV import or public link
Best forDaily builds for the teamReal users, beta programs, launch rehearsal

You must create an internal group before you can create an external one.

How do you set up internal testing?

  1. In App Store Connect open Apps, select the app and click the TestFlight tab.
  2. In the sidebar click + next to Internal Testing, name the group and click Create.
  3. Click Invite Testers and pick users from your team.
  4. Click Add Builds, or tick Enable automatic distribution so every new Xcode build reaches the group. Builds made by Xcode Cloud must be added to groups by hand.

Internal testers can test every build for 90 days. Builds uploaded as "TestFlight Internal Only" can only go to internal groups, never to external testers or the App Store.

How do you invite external testers?

  1. In the TestFlight tab click + next to External Testing, name the group and click Create.
  2. Select the group, click Add Builds, choose the platform, version and build.
  3. Write What to Test, the note testers see; you can add localized versions.
  4. Fill in the test information if you have not yet: feedback email, contact details and, if the app has a login, sign-in details for the reviewer.
  5. Click Submit Review. Once the build is approved, testers are notified automatically if you ticked that option, or you click Notify Testers on the build.

The first build you submit needs a full review; later builds of the same version might not. Apple does not publish a review time for TestFlight, so leave room in your schedule before a beta launch.

A public link lets anyone join without an email invitation. In the external group's Testers tab click Create Public Link and choose:

  • Open to Anyone, or Filter by Criteria: at least one criterion such as device type and OS version (from, newer than or equal to, older than or equal to, or all supported).
  • Tester Limit: a number between 1 and 10,000.

Testers who join through a public link appear as anonymous: you see no name or email. When you hit your tester limit, disable the link so people see it is closed.

Troubleshooting: "No builds available"

Work through this list in order:

  1. Is the build still processing? Fresh uploads take time before they appear in TestFlight.
  2. Is export compliance answered? A build missing that answer cannot be tested. Add ITSAppUsesNonExemptEncryption to Info.plist to stop the question repeating.
  3. Is the build in the tester's group? Adding a build to one group does not add it to others.
  4. External: is it approved? A build waiting for or rejected in beta review is not available.
  5. Has it expired? Builds become unavailable 90 days after upload.
  6. Does the device qualify? The device must meet the build's minimum OS version and, for public links, your criteria.
  7. Is the tester signed in with the invited Apple Account? The TestFlight app shows builds for the account it is signed in with. Managed Apple Accounts in reserved domains cannot test builds.
  8. Is it an internal-only build? Those never show to external testers.

What does TestFlight not do?

  • Ratings prompts do not appear: StoreKit's review request has no effect in TestFlight builds, so test that flow in development (see asking for ratings on iOS).
  • Testers' feedback is private; nothing they say appears on the App Store.
  • A TestFlight approval does not guarantee App Store approval; the full App Review still applies at submission.

Where does TestFlight fit in the release?

Test the exact build you will submit, then submit it from the version page as described in How to publish an app on the App Store. For updates, combine a TestFlight round with a phased release so a bug reaches a few users before it reaches all. On Android, the matching tools are Google Play's testing tracks.

Uptika's Daily ping then shows every morning what moved since the last reading: keyword ranks, category chart positions and new 1–2 star reviews, so a weak build shows up within a day. The free plan starts you with daily keyword ranks for one app, no card needed; paid plans open the rest.

Questions

What is TestFlight and how does it work?

TestFlight lets you send pre-release builds of an iOS, iPadOS, macOS, tvOS, visionOS or watchOS app to testers. You upload a build to App Store Connect, add it to a tester group, and testers install it through the free TestFlight app. They can send feedback and screenshots from inside the app.

How long does TestFlight external review take?

Apple does not publish a separate time for TestFlight review. What Apple does state: the first build you submit needs a full review, later builds of the same version might not, and you can submit up to six builds for TestFlight review in 24 hours.

Why does TestFlight say no builds available?

Usually the build is still processing, is waiting for an export compliance answer, was never added to the tester's group, is still in beta review, has expired after 90 days, or the tester's device does not meet the build's minimum OS or the public link's criteria. Check those in that order.

Is there TestFlight for Android?

Not under that name. Google Play's equivalent is its testing tracks: internal testing for up to 100 testers, closed testing by email list or Google Group, and open testing. See the guide on Google Play testing tracks.

Do testers need an Apple Developer account?

No. External testers only need an Apple Account and the TestFlight app. Internal testers must be users in your App Store Connect team with the Account Holder, Admin, App Manager, Developer or Marketing role.

Sources

  1. TestFlight (Apple Developer)
  2. TestFlight overview (App Store Connect Help)
  3. Add internal testers (App Store Connect Help)
  4. Invite external testers (App Store Connect Help)