TestFlight Beta Testing: How to Set It Up in 2026
You can submit an app to the App Store and hope a reviewer does not hit a crash. Or you can let real testers break it first, on their own devices, for free. TestFlight is the second option, and it is the single cheapest way to avoid the rejections that come from shipping an untested build.
TestFlight is Apple's beta testing service. Developers upload a build to App Store Connect, then invite testers, who install it through the free TestFlight app and can send back screenshots and crash reports (Apple). It works for apps, games, and App Clips, and it runs throughout development, not just at the end.
What you need before you start
Two things gate access to TestFlight, and neither is optional:
- An active Apple Developer Program membership, which costs $99 per year. You need it to distribute apps through TestFlight at all (OneUptime).
- An app record in App Store Connect with the bundle ID matching your build.
You also need a signed, archived build uploaded to App Store Connect. If you built your app with an AI coding agent and have only ever run it in a simulator, this is your first real checkpoint: a build that runs in the simulator is not the same as a build that runs on a clean iPhone.
Internal testers vs external testers
TestFlight splits testers into two groups, and the difference matters because only one of them requires Apple's beta review.
| Internal testers | External testers | |
|---|---|---|
| Who they are | Members of your team | Anyone you invite by email or public link |
| Maximum count | Up to 100 | Up to 10,000 |
| Devices per tester | Up to 30 | Up to 30 |
| Beta app review required? | No | Yes, on the first build of each version |
Internal testers can install a build the moment it is uploaded, with no review, because they are trusted team members (Apple). External testers, the larger group, require a beta app description and review information, and the first build of a new version goes through a lighter beta review before it reaches them. After that first build clears, you can add more builds to the same group without re-review.
The 90-day expiry trap
This is the rule that catches the most people. A TestFlight build is testable for up to 90 days from the day you upload it, and when it expires, testers lose access entirely and cannot launch the app (Apple). There is no exception and no extension.
The practical consequence: if you invite testers to a build on day one and then go quiet for two months, they open TestFlight on day 95 and the app is gone. You have to upload a fresh build, which means rebuilding and re-archiving, and re-inviting anyone who did not have automatic updates on.
Two habits prevent this. First, set a calendar reminder at day 75 for every active build, so you ship a fresh one before the old one dies. Second, keep your active testers in a single group and push incremental builds to that group rather than scattering builds across groups, since you can share up to 100 builds at once (Apple).
Setting it up, step by step
- Archive and upload. In Xcode, archive your app and upload it to App Store Connect. Use automatic signing unless you have a reason not to, and verify it works on a real device, not just the simulator.
- Open the TestFlight tab. In App Store Connect, select your app, then the TestFlight tab. Add test information: what you want testers to test, and a feedback email you will actually monitor (Apple).
- Add internal testers first. Invite team members. They get an invitation immediately and can install the build with no review. Use them to catch the obvious crashes before anyone outside sees the app.
- Fill in beta review information. To invite external testers, you need a beta app description, a feedback email, and, if your app requires sign-in, demo account credentials. Reviewers use these to test.
- Create a tester group and invite external testers. You can invite by email or share a public link. The first build of each version goes through beta review, which is faster and lighter than full App Store review.
- Collect feedback. Testers can take screenshots from inside the app and annotate them with feedback. These come back to you in App Store Connect and are the fastest way to find broken flows before submission.
What to test in a beta round
A beta round is only useful if it covers the paths a reviewer will check. Before you invite external testers, make sure they will exercise:
- Signup and onboarding on a fresh install, with no saved data.
- The paywall and any restore-purchases flow.
- Account deletion and data export, if your app has accounts.
- Offline and error states: airplane mode, no network, expired session.
If your app leaks API keys or has secrets baked into the build, a tester with a network proxy can find them. That is a separate, harder problem, and it is the one most AI-built apps get wrong. Our guide to where Flutter apps leak API keys covers how to fix it before you share a build with anyone.
TestFlight is not a substitute for store review
A common misunderstanding: passing a TestFlight beta does not mean your app will pass App Store review. Beta review checks a narrower set of things than full review, and a build that testers loved can still be rejected for a missing privacy policy, an incomplete App Privacy label, or a guideline 2.5.2 completeness issue.
Treat TestFlight as the stage where you prove the app does not crash and the flows work, and treat submission as the stage where you prove the paperwork and data handling are correct. If you want to check both before you submit, run a free Launch Score against your app to see exactly where it stands on the checks that cause rejections.
Sources
- TestFlight — Apple Developer
- TestFlight overview — App Store Connect Help
- How to set up beta testing with TestFlight and Google Play — OneUptime
Frequently asked questions
How do I set up TestFlight for my Flutter app?
To set up TestFlight: archive your Flutter app in Xcode with a valid distribution certificate, upload the archive to App Store Connect, navigate to the TestFlight tab, add testers by email, and submit for beta review. Beta review typically takes 24-48 hours.
How many testers can I add to TestFlight?
You can add up to 10,000 testers via email invitation in TestFlight. For larger beta programs, you can create public links that allow anyone with the link to join, up to 10,000 total testers.
How long does TestFlight review take?
TestFlight beta review typically takes 24-48 hours, but can be faster. The first build you upload may take longer as Apple reviews the app for the first time. Subsequent builds are usually approved within a few hours.