Apple gives you two ways to put a beta build on someone's iPhone: TestFlight, run through App Store Connect, and ad hoc distribution, where the build is signed for a list of registered devices.
The differences
| TestFlight | Ad hoc distribution | |
|---|---|---|
| Testers | 100 internal, 10,000 external | 100 devices per product family per membership year |
| App Review | The first build for external testers is reviewed | Never |
| Tester needs | The TestFlight app and an invitation or public link | A registered device and an install link |
| Build lifetime | 90 days | Until the provisioning profile expires, up to a year |
| Device IDs | Not needed | Each device's UDID must be in the profile |
| Upload | Archive uploaded to App Store Connect | Any host that serves the .ipa and manifest |
| Feedback | Screenshots and crash reports built in | Up to you |
When to use TestFlight
- Public betas or anything with more than about a hundred people.
- Testers who are comfortable installing the TestFlight app.
- When you want crash logs and feedback in App Store Connect.
When to use ad hoc distribution
- A build you want on a client's or colleague's iPhone today, with no review.
- Builds you can't send to App Review yet, like debug menus or staging servers.
- Testers who shouldn't need an app or invitation, just a link.
The usual pain with ad hoc is device IDs: every new tester means finding their UDID, registering it, regenerating the profile and rebuilding. BuildFerry does those steps for you, so ad hoc feels as simple as a link.
Using both
Many teams send daily builds to the core team with ad hoc distribution and use TestFlight for the wider beta before release. The same app can use both, since each is just a different signing profile.
Questions
Is ad hoc distribution faster than TestFlight?
Usually. An ad hoc build skips App Review and App Store Connect processing, so it can reach a registered iPhone as soon as it is signed and uploaded.
Do ad hoc builds expire?
An ad hoc build works until its provisioning profile or signing certificate expires. Ad hoc profiles last up to a year.
Does ad hoc distribution count against the device limit?
Yes. Each registered device uses one of your 100 slots for its product family for the membership year, even if you remove it later.