Firebase App Distribution is free and handles iOS and Android in one place. For iOS ad hoc builds, though, it stops at collecting the UDID.
What Firebase leaves to you
According to Firebase's own guide, when a new tester registers their iPhone you:
- Export the new UDIDs as a CSV, or copy them by hand.
- Add the devices in your Apple Developer account.
- Add them to your provisioning profile and download it again.
- Rebuild the app and distribute it again.
You can script this with fastlane, but it still means a new build every time someone joins.
Firebase and BuildFerry side by side
| Firebase App Distribution | BuildFerry | |
|---|---|---|
| Collects UDIDs | Yes, emailed to you or exported | Collected by a signed profile in Safari |
| Registers iPhones with Apple | No, you import them | Yes, through your App Store Connect key |
| Re-signs for new iPhones | No, you rebuild | Yes, in the cloud |
| Needs a Mac for new testers | Yes, to rebuild | Not needed |
| How testers join | Email invite or link | One share link, approved by you |
| Android | Yes | No, iOS only |
| CI upload | CLI, fastlane and Gradle | GitHub Action, CLI and fastlane |
| Crash reports | Yes, with Crashlytics | No |
| Price | Free | Free, then $12 or $29 a month |
When Firebase is the better choice
- You ship Android and iOS and want one tool for both.
- You already use Crashlytics and want builds and crashes together.
- Your tester list rarely changes, so rebuilding for a new device is rare.
When testers come and go every week, BuildFerry saves a rebuild each time. Upload the same .ipa you send to Firebase and share one link.
Questions
Does Firebase App Distribution add UDIDs to my provisioning profile?
No. Firebase collects the UDID and emails or exports it. You add the device in your Apple account, update the profile, rebuild and distribute again.
Can I use BuildFerry with the same .ipa I upload to Firebase?
Yes. BuildFerry re-signs any exported .ipa you have the rights to distribute, for each iPhone you approve.