TestFlight Guide: How to Test an iPhone App Before Launch

How to use TestFlight: internal vs external testers, beta review, public links, the 90-day build limit and how clients install and send feedback.

By Roenic Natarelli, Founder November 8, 2026 7 min read
The short answer
  • TestFlight is Apple's free beta testing service. Testers install the TestFlight app, accept an invite and get your app before it reaches the App Store.
  • Internal testing covers up to 100 people on your App Store Connect team. External testing reaches up to 10,000 people after the first build passes beta review.
  • Each build can be tested for up to 90 days, then it expires for testers.
  • Testers send feedback with a screenshot from inside your app, and you get crash reports when something breaks.

TestFlight is how you try an iPhone app before the public can. Your developer uploads a build to App Store Connect, you invite testers, and they install it through Apple's free TestFlight app. It's the step we push every client to take seriously, because a real build on a real phone catches problems that screenshots and screen-share demos hide.

This guide covers both sides: setting TestFlight up in App Store Connect, and the simple steps to send whoever is testing. We run TestFlight for clients as part of our mobile app projects, so these are the steps we use.

What is TestFlight?

TestFlight is part of App Store Connect. It works for apps on iPhone, iPad, Mac, Apple TV, Apple Vision Pro and Apple Watch. Apple says you can share up to 100 builds, test several at once, and testers can use them on up to 30 devices.

Apple's own summary of how it works: "Testers install the free TestFlight app on their devices. Then they use their invitation email or a public link to accept invitations, install your app, send feedback, and get updates."

10,000
external testers you can invite per app, plus up to 100 internal testers from your team

Internal vs external testers

Internal testingExternal testing
WhoUp to 100 members of your App Store Connect team with the Account Holder, Admin, App Manager, Developer or Marketing roleUp to 10,000 people, invited by email or a public link
Apple reviewNot neededThe first build goes through beta app review. Later builds for the same version might not need a full review
Good forThe owner, staff and the build teamCustomers, staff without App Store Connect logins, a wider beta

For most small business apps, internal testing is enough for the first round. Add the owner and a couple of staff as App Store Connect users and they can install new builds as soon as Apple finishes processing them. Our App Store Connect guide shows how to add users with the right role.

How to set up internal testing

  1. 1Make sure each tester is an App Store Connect user with one of the roles in the table above.
  2. 2Open your app in App Store Connect and click the TestFlight tab.
  3. 3Create an internal group and add your testers to it.
  4. 4Add the build you want them to try.
  5. 5Testers get an email invite. They install TestFlight from the App Store and accept.

How to set up external testing

  1. 1Create an internal group first. Apple requires one before you can make an external group.
  2. 2In the TestFlight tab, click the plus button next to External Testing and give the group a name.
  3. 3Fill in the test information, including a feedback email and contact details. If the app needs a login, include a demo account so the beta reviewer can get in.
  4. 4Add a build and write the What to Test notes so testers know where to focus.
  5. 5Submit the build for beta review. Once it's approved, invite testers by email or turn on a public link.

Apple says the first build you submit needs a full review, but later builds for the same version might not. You can send up to six builds for TestFlight review in a 24-hour period, and only one build of each version can be in review at a time.

A public link lets anyone with the URL join your external test. You can set a limit anywhere from 1 to 10,000 testers, choose Open to Anyone, or filter by device and platform. Apple suggests turning the link off once you hit your limit, so people who try to join know the beta is full.

Public links work well for a staff rollout, where adding every employee as an App Store Connect user would be overkill. Just remember that anyone who gets the link can join, so don't post it publicly unless you mean to.

How your client or tester installs a TestFlight build

This is the part to copy and send to whoever is testing:

  1. 1Install the free TestFlight app from the App Store on your iPhone or iPad.
  2. 2Open the invite email and tap the button to view it in TestFlight, or open the public link you were sent.
  3. 3Tap Accept, then Install.
  4. 4Open the app from your home screen like any other app.
  5. 5To send feedback, take a screenshot inside the app and choose to share it as beta feedback, or send feedback from the TestFlight app. Mark up the screenshot if it helps show the problem.
The single most useful thing a tester can do is report exactly what they tapped before something went wrong. A screenshot with one sentence beats a long email after the fact.

Feedback and crash reports

Apple describes it like this: "Testers can take a screenshot from your app or game and easily share feedback. They can even mark up the image with relevant feedback or suggestions. If they experience a crash, you'll receive a crash report." Feedback and crashes show up in the TestFlight section of App Store Connect, along with build metrics like sessions and crashes. Testers on tvOS or older versions of iOS send feedback to the email address you set in the test information.

The 90-day limit

Apple says you can test a build for up to 90 days, and after that it becomes unavailable for testers. If your launch drags on, ask your developer to upload a fresh build rather than letting testers sit on one that's about to expire.

What TestFlight won't catch

Passing beta review doesn't guarantee App Store approval. The full App Review also looks at your store listing, screenshots, privacy details and metadata, which a beta never has. Use TestFlight to make sure the app itself works, then check the listing against our list of App Store rejection reasons.

TestFlight is only for Apple devices. On Android, the equivalent is an internal or closed test in the Play Console, which our Google Play Console guide explains, including the 12 tester rule for new personal accounts.

Setting up TestFlight groups, writing test notes and walking clients through the install is part of every mobile project we run, right through to the store submission. You get the build on your own phone well before launch day.

Want your app in TestFlight this week and on the App Store after that? We handle the builds, testers and submission.

Frequently asked questions

Is TestFlight free?

Yes. The TestFlight app is free for testers. To send builds through it, you need an Apple Developer Program membership.

How many testers can use TestFlight?

Up to 100 internal testers from your App Store Connect team and up to 10,000 external testers per app.

How long do TestFlight builds last?

Up to 90 days. After that the build expires for testers and they need a newer one.

Do TestFlight builds need Apple review?

Builds for internal testers don't. The first build you send to external testers goes through beta app review, and later builds for the same version might not need a full review.

Can Android users use TestFlight?

No. TestFlight only works on Apple devices. Android apps are tested through internal, closed or open testing in the Google Play Console.

Roenic Natarelli
Founder, Virtual Horizons

Roenic runs Virtual Horizons and is a Base44 Legend Partner, Ambassador and Community Pillar, Base44 Shark Tank winner and multiple-time Vibe Sprint winner. The studio builds web and mobile apps, AI voice agents and automations, with more than 10 apps live on the App Store and Google Play. More about us

Sources

  1. 1.App Store Connect Help: TestFlight overview
  2. 2.App Store Connect Help: Invite external testers
  3. 3.Apple Developer: Beta testing made simple with TestFlight
  4. 4.Play Console Help: Set up an open, closed or internal test

Keep reading