ScreenShipper
Blog
Launch & Review

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 testersExternal testers
Who they areMembers of your App Store Connect teamAnyone with an email address or your public link
LimitUp to 100 peopleUp to 10,000 people per app
Required roleAccount Holder, Admin, App Manager, Developer or MarketingNo App Store Connect account needed
Beta App ReviewNot requiredRequired for the first build added to a group
AvailabilityAs soon as the build finishes processingAfter the build is approved
Best forDaily QA by your teamReal 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.

  1. 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.
  2. 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 upload instead.
  3. Wait for processing. The build appears under the TestFlight tab, usually within minutes, sometimes longer.
  4. Answer export compliance. If the build shows "Missing Compliance", answer the encryption questions. You can skip the question on future uploads by adding the ITSAppUsesNonExemptEncryption key to your Info.plist, after checking which value applies to your app.
  5. 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.
  6. Create an internal group, add your team and assign the build.
  7. Create an external group, add the build and write "What to Test" notes. Submit it for Beta App Review.
  8. 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.

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:

  1. Write specific "What to Test" notes. "Try creating a project, then export it" beats "Test everything."
  2. Ask one question per build. For example: "Was anything unclear during onboarding?"
  3. Tell testers how to send feedback. Many people do not know about the screenshot shortcut.
  4. Reply and thank them. Testers who see their bug fixed keep testing.
  5. 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

ProblemLikely causeFix
Build does not appearStill processing, or upload failedWait, then check your email for processing errors
Status says Missing ComplianceExport compliance not answeredAnswer the encryption questions for that build
Tester sees no appBuild not assigned to their groupAdd the build to the group
"This beta is full"Group or link limit reachedRaise the limit or remove inactive testers
App no longer opensBuild expired after 90 daysUpload a new build and assign it
Invite email missingSpam filter or wrong Apple Account emailResend, 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.

All guides