TestFlight Guide: How to Beta Test Your iOS App Before Launch
How TestFlight works in 2026, with internal vs external testers, public links, Beta App Review, the 90-day build limit and a step-by-step first beta setup.
ScreenShipper team · · 7 min read
Quick answer: TestFlight is Apple's free beta testing service inside App Store Connect. You upload a build, invite up to 100 internal testers from your team right away, and invite up to 10,000 external testers by email or public link once the first build passes Beta App Review. Each build stays testable for 90 days, and testers send screenshots, crash reports and comments back to you.
What TestFlight Is and When to Use It
TestFlight lets people install a pre-release version of your app through the TestFlight app on their device, without you managing device IDs or provisioning profiles. It is included with Apple Developer Program membership, and it supports iPhone, iPad, Mac, Apple TV, Apple Watch and Apple Vision Pro apps.
Use it at three moments in your release cycle:
- Before your first launch, to catch crashes, confusing onboarding and broken purchase flows on real devices.
- Before every major update, to let your most engaged users try new features early.
- During App Store review, to keep testing the exact build you submitted while you wait.
A TestFlight build is the same binary you would ship to the App Store, so what testers see is what customers will get. That makes it the last checkpoint on any App Store submission checklist.
Internal vs External Testers
The biggest decision is which kind of tester you need. The two groups have different limits, different review rules and different setup.
| Internal testers | External testers | |
|---|---|---|
| Who they are | Members of your App Store Connect team | Anyone with an email address or your public link |
| Limit | Up to 100 people | Up to 10,000 people per app |
| Required role | Account Holder, Admin, App Manager, Developer or Marketing | No App Store Connect account needed |
| Beta App Review | Not required | Required for the first build added to a group |
| Availability | As soon as the build finishes processing | After the build is approved |
| Best for | Daily QA by your team | Real users, wider device coverage |
Apple also notes that each tester can install your beta on up to 30 devices. If you only need your co-founder and a contractor to test, internal testing is enough. Once you want feedback from people who did not build the app, you need an external group.
Note: Apple requires at least one internal group before you can create an external group. Builds uploaded as "TestFlight Internal Only" can only go to internal groups.
How to Set Up TestFlight Step by Step
Here is the full path from Xcode to a tester's phone for a brand-new app.
- Create the app record in App Store Connect with your bundle ID, name and primary language. See our App Store Connect guide if this is your first app.
- Archive and upload in Xcode with Product, then Archive, then Distribute App. Choose the App Store Connect destination (or "TestFlight Internal Only" for team-only builds). fastlane users can run
fastlane pilot uploadinstead. - Wait for processing. The build appears under the TestFlight tab, usually within minutes, sometimes longer.
- Answer export compliance. If the build shows "Missing Compliance", answer the encryption questions. You can skip the question on future uploads by adding the
ITSAppUsesNonExemptEncryptionkey to your Info.plist, after checking which value applies to your app. - Fill in Test Information: beta app description, feedback email, privacy policy URL and, if your app needs a login, a demo account for the reviewer.
- Create an internal group, add your team and assign the build.
- Create an external group, add the build and write "What to Test" notes. Submit it for Beta App Review.
- Invite testers by email or with a public link once the build is approved.
From the second build on, you upload, add "What to Test" notes and assign it to your groups. Apple says later builds may not need a full review.
Public Links, Tester Criteria and Groups
A public link is the fastest way to grow an external beta. Anyone who opens the link on a device with TestFlight installed can join, so you can post it on your landing page, newsletter or community.
You control who gets in:
- Tester limit. Set a number between 1 and 10,000 so a viral post does not flood a small beta.
- Criteria. Filter by device type and OS version, for example "iOS 26 or newer" if you rely on new APIs.
- Disable the link when the group is full, so latecomers see that the beta is closed instead of an error.
Testers who join through a public link appear as anonymous in App Store Connect, but you still see their installs, sessions and crashes. If you need to know who said what, invite people by email instead.
Use several groups to separate audiences: "Team", "Friends and family", "Power users" and "Press" is a common split. Each group can test a different build, which lets you send a risky feature to a small group first.
Beta App Review: What Apple Checks
The first build you add to an external group goes to App Review. Apple checks it against the App Review Guidelines, the same rules as a normal submission, though the review is usually lighter. To pass smoothly:
- Make sure the app launches and the main flow works without crashing.
- Provide a working demo account if any feature is behind a login.
- Describe the beta honestly in the beta app description.
- Do not include placeholder content that suggests features the build does not have.
Passing Beta App Review does not guarantee approval when you submit the same build to the App Store. Store review also covers your metadata, screenshots and privacy answers. Apple currently allows up to six builds to be submitted for TestFlight review within 24 hours.
Getting Feedback That Actually Helps
Testers can take a screenshot inside your app, mark it up and send it straight to you. When the app crashes, TestFlight asks the tester to add context to the crash report. You will find both in App Store Connect under TestFlight, then Feedback.
To get useful feedback instead of silence:
- Write specific "What to Test" notes. "Try creating a project, then export it" beats "Test everything."
- Ask one question per build. For example: "Was anything unclear during onboarding?"
- Tell testers how to send feedback. Many people do not know about the screenshot shortcut.
- Reply and thank them. Testers who see their bug fixed keep testing.
- Watch sessions and crashes in the build's metrics, not just written feedback.
Remember that TestFlight feedback is private. Testers cannot leave App Store reviews for a beta, so ratings only start after launch. Our guide on how to get app reviews covers that next step.
Common TestFlight Problems and Fixes
| Problem | Likely cause | Fix |
|---|---|---|
| Build does not appear | Still processing, or upload failed | Wait, then check your email for processing errors |
| Status says Missing Compliance | Export compliance not answered | Answer the encryption questions for that build |
| Tester sees no app | Build not assigned to their group | Add the build to the group |
| "This beta is full" | Group or link limit reached | Raise the limit or remove inactive testers |
| App no longer opens | Build expired after 90 days | Upload a new build and assign it |
| Invite email missing | Spam filter or wrong Apple Account email | Resend, or share the public link |
If you also ship on Android, the closest equivalent is a Play Console testing track. Note that new personal Play developer accounts must complete a closed test first, explained in our Google Play closed testing guide.
Frequently Asked Questions
Is TestFlight free to use?
Yes. TestFlight is included with Apple Developer Program membership, and testers install the free TestFlight app from the App Store. There is no extra charge per tester or per build.
How long does a TestFlight build last?
Apple lets you test a build for up to 90 days after upload. After that, it becomes unavailable to testers, so upload a fresh build for long betas.
Do TestFlight testers need an Apple Developer account?
No. External testers only need an Apple Account and the TestFlight app. Internal testers must be users on your App Store Connect team with a qualifying role.
Can TestFlight testers pay for in-app purchases?
No real money is charged. In-app purchases in a TestFlight build use the sandbox environment, so testers can try your paywall and subscription flow without being billed.
How long does Beta App Review take?
Apple does not publish a fixed time. It is often faster than a full App Store review, but plan for at least a day and avoid promising testers an exact start date. See App Store review time for planning tips.
Sources
Store-ready screenshots, no upload errors
Export exact App Store and Google Play sizes without alpha channels, and check any file with the free size checker.