Before TestFlight became the standard, Ad Hoc distribution was the primary way developers shared iOS betas. In 2026, it remains a critical tool for developers who need instant distribution without waiting for Apple's processing times.
This article explains what iOS Ad Hoc distribution is, how it works, and when you should use it over TestFlight.
What is Ad Hoc Distribution?
Ad Hoc distribution is a method of releasing an iOS app to a limited number of registered devices. It uses a special "Ad Hoc" provisioning profile that includes a list of allowed device identifiers (UDIDs).
When a user tries to install an Ad Hoc build, iOS checks if their device's UDID is present in the app's embedded provisioning profile. If it is, the app installs. If not, the installation fails.
The Pros and Cons
Advantages
- Instant Updates: No waiting for "Processing" or Beta App Review.
- Real Environment: Test the exact binary that you might resign for production later.
- Stability: Builds don't expire as quickly as early TestFlight builds (Ad Hoc profiles last 1 year).
Disadvantages
- UDID Management: You must collect the UDID from every single tester.
- Rebuilding Required: If you add a new tester, you must regenerate the profile and rebuild (or re-sign) the app.
- Device Limit: Limited to 100 iPhones, 100 iPads, etc., per year.
How to Distribute an Ad Hoc Build
1. Collect UDIDs
Ask your testers to send you their UDID — the 25-character (or 40-character on older devices) identifier unique to each iPhone or iPad. Rather than walking each tester through Finder or Xcode, point them at the BetaDrop UDID checker: they open the link in their phone browser and it reads back the UDID they need to send you. If a tester wants to find it manually, our guide on how to find an iPhone UDID for beta testing covers the Finder and Xcode paths step by step.
2. Register Devices in Apple Developer Portal
Go to Certificates, Identifiers & Profiles → Devices. Click the (+) button and enter the device name and UDID. Each platform has its own cap of 100 devices per membership year, and you can only clear out the list once a year at renewal — so register deliberately and avoid burning slots on test devices you no longer use.
3. Create/Update Provisioning Profile
Go to Profiles, select your Ad Hoc profile (or create a new one), and ensure the new devices are checked in the list. Download the updated profile.
4. Build or Archive
In Xcode, Archive your app. Select Distribute App → Ad Hoc. Xcode should automatically fetch the updated profile if you're signed in.
5. Share the IPA
You'll get an .ipa file. You can install this using:
- Apple Configurator 2 (Wired) — each tester connects their device to a Mac.
- Xcode Devices Window (Wired) — drag the IPA onto the connected device.
- OTA Distribution (Wireless) — host the signed IPA over HTTPS and share an install link. The tester opens it in Safari, sees the "install" prompt, taps Install, and the app downloads straight to the Home Screen. See how OTA install works for the full flow.
When to Use Ad Hoc vs. TestFlight
Use Ad Hoc when:
- You are testing with a small, known internal team.
- You need to validate a build immediately (e.g., a hotfix) without waiting for Apple.
- You are testing features that might be rejected by TestFlight review (e.g., private APIs for internal tools).
Use TestFlight when:
- You are running a public beta with unknown users.
- You have exceeded the 100 device limit.
- You don't want to deal with UDIDs.
Hosting Ad Hoc builds with BetaDrop
Once your .ipa is signed for the registered UDIDs, it still needs an HTTPS home before testers can install it over the air. Upload the IPA to BetaDrop and you get an OTA install link plus a QR code in seconds — testers install straight from Safari, no cables, no TestFlight, and no tester accounts. Uploads up to 512 MB are supported, and links stay live long enough for a testing round (registered builds expire within about 30 days; anonymous guest links after 24 hours). Pair it with the UDID checker and the whole loop — collect UDIDs, build, host, install — runs from the browser.
Frequently Asked Questions
What is Ad Hoc distribution?
Ad Hoc distribution allows you to share your iOS app with a specific group of testers (up to 100 devices per device type) using their Unique Device Identifiers (UDIDs).
How many devices can an Ad Hoc profile hold?
An Ad Hoc provisioning profile can register up to 100 devices per device type per membership year: 100 iPhones, 100 iPads, 100 iPod touches, 100 Apple Watches, and so on. Every device must be added by its UDID before you build and sign the app, so adding a tester later means regenerating the profile and re-exporting the IPA. Registered devices can only be removed once a year, when you renew your Apple Developer Program membership.
Do I need an Enterprise account for Ad Hoc?
No, Ad Hoc distribution is available with the standard Apple Developer Program membership ($99/year). The Apple Developer Enterprise Program (a separate $299/year membership) is only needed for unlimited in-house distribution to your own employees, not for beta testing.
How do I collect UDIDs from my testers?
Ask each tester for their device UDID and add it to your Apple Developer account before you build. To make that painless, send them a UDID checker link they can open in their phone browser: it reads back the UDID they need to give you, so nobody has to plug into Finder or Xcode to dig it out.
Why does my Ad Hoc app not install?
The most common reason is that the device's UDID was not added to the provisioning profile before the app was built/signed. The profile must include every specific device you want to install the app on. Other frequent causes are hosting the IPA over plain HTTP instead of HTTPS, an expired provisioning profile, or a bundle identifier that does not match the one in the profile.
How is Ad Hoc different from TestFlight?
Ad Hoc updates are instant and don't require Apple Review. TestFlight requires binary processing and sometimes beta review. However, Ad Hoc requires managing UDIDs, while TestFlight just needs an email address. Ad Hoc is capped at 100 devices per type, whereas TestFlight scales to 10,000 external testers by email invite.
Summary
Ad Hoc distribution is the "manual transmission" of iOS deployment. It gives you more control and speed but requires more hands-on management of devices. For small teams prioritizing iteration speed, it is often superior to TestFlight.

