NewHuxly MCP — Connect Claude, Cursor & Codex.Learn more
How to Use TestFlight to Beta Test Your App
Back to Blog
GuideAug 7, 20265 min read

How to Use TestFlight to Beta Test Your App

Contents

Last updated: August 2026.

TestFlight is Apple's beta distribution system, included free with the $99-a-year Developer Program membership, and it's how essentially every iOS app gets tested on real devices before a full App Store submission. The part that trips people up isn't installing it, it's the internal-versus-external split and a 90-day expiration that catches teams off guard mid-beta.

Internal vs external testers, the real difference

Internal testersExternal testers
Limit10010,000
Who qualifiesApp Store Connect users on your teamAnyone with an email invite or public link
Review requiredNoneBeta App Review on the first build of each version
Time to installMinutes after processing24-48 hours typical for first build, faster after

Internal testers don't need review at all; external ones do, and only for the first build of a given version. Mixing these up is the most common source of "why is my build stuck" confusion.

The 90-day expiration nobody plans for

Every TestFlight build, internal or external, stops being installable 90 days after upload. Testers see an "Expired Build" message and can't launch the app anymore. If you're running a beta longer than three months, you need to upload a fresh build before the old one expires, or your testers go dark in the middle of the cycle. This catches more teams than the review process does, since review is a one-time gate and expiration is a recurring deadline you have to actively manage.

Setting it up, step by step

  1. Upload a signed build (signed with an Apple Distribution Certificate and App Store provisioning profile) to App Store Connect.
  2. Wait for processing, usually a few minutes to an hour.
  3. Add internal testers directly under the app's TestFlight tab if you want immediate, no-review access.
  4. For external testers, create a group, add testers by email or generate a public link, and submit for Beta App Review.
  5. Once approved, testers get a notification and can install through the TestFlight app.
  6. Track your 90-day clock from the upload date and plan your next build before it expires.

Getting useful feedback, not just installs

Testers can submit feedback, a screenshot plus text, directly from the TestFlight app, and it lands in App Store Connect under TestFlight → Feedback. Shake-to-feedback is built into the TestFlight install itself, so testers don't need special instructions to report something. One setup detail worth getting right early: by default, feedback emails go to every team member with App Manager access, which gets noisy fast on an active beta. Setting up a dedicated feedback inbox through TestFlight's settings is worth doing before you invite your first external tester, not after.

When Ad Hoc distribution is the better choice

TestFlight isn't always the right tool.

TestFlightAd Hoc distribution
Review requiredYes, for external testers' first buildNo, skips review entirely
Build lifespan90 daysUp to 1 year
Tester limit10,000 external, 100 internal100 registered device UDIDs
Best forOngoing betas with broad tester poolsQuick demos, long-running client or internal access

Problems people run into

Invitation emails not arriving. This is a known, long-standing Apple issue without a permanent fix. A public link sidesteps it entirely, at the cost of not controlling exactly who installs.

External review taking longer than expected. Review timing is inconsistent, and weekends or US holidays in particular can stretch a normal 24-to-48-hour wait into several days.

Builds expiring mid-review-cycle. If you're juggling a long external review alongside your 90-day clock, it's possible for a build to expire before testers ever get real usage out of it, plan your upload timing with both deadlines in mind.

For the full path from a finished build to an actual App Store listing, see our guide on submitting an app to the App Store without a Mac.

FAQ

How many testers can I have on TestFlight?

Up to 100 internal testers (who must be App Store Connect users on your team) and up to 10,000 external testers (anyone with an email invite or a public link).

Do internal testers need Apple's approval?

No. Internal testing has no review step at all, builds are available within minutes of processing finishing.

How long does external Beta App Review take?

Typically 24 to 48 hours for the first build of a version, though weekends and US holidays can push it longer. Later builds of the same version often go through faster or skip a full review.

How long do TestFlight builds last before they expire?

90 days from the upload date, for both internal and external builds. After that, testers see an "Expired Build" message and can no longer launch the app.

What's the difference between TestFlight and Ad Hoc distribution?

TestFlight scales to thousands of testers and includes built-in feedback tools, but caps builds at 90 days and requires review for external testers. Ad Hoc distribution skips review entirely and lasts up to a year, but is capped at 100 registered devices.

Why aren't my testers getting the invitation email?

It's a known, unresolved Apple issue that affects TestFlight invites. Switching to a public link instead of individual email invites is the most reliable workaround.

Can I collect crash reports through TestFlight, not just written feedback?

Yes. TestFlight includes built-in crash reporting alongside the screenshot-and-text feedback tool, both show up in App Store Connect.