Create the app in App Store Connect
You need an Apple Developer Program membership. Add your app record with its bundle ID.
Use TestFlight for iOS apps when you want the smoothest tester experience, large public betas of up to 10,000 external testers and a direct path to App Store release. Use Firebase App Distribution when you need one tool for Android and iOS, want to share builds with internal testers in minutes without Apple's beta review, or are testing builds that point to staging servers. Many teams use both: Firebase for fast internal and QA builds on both platforms, and TestFlight for wider iOS betas just before release.
| Feature | TestFlight | Firebase App Distribution |
|---|---|---|
| Owner | Apple | Google (Firebase) |
| Platforms | iOS, iPadOS, macOS, tvOS, watchOS, visionOS | Android (APK and AAB) and iOS |
| Internal testers | Up to 100 members of your App Store Connect team | Testers are added by email; no separate internal tier |
| External testers | Up to 10,000 by email or public link | Up to 500 testers per project and 200 per group; increases available on request |
| App review | External builds need Apple's Beta App Review; internal builds don't | No review; builds are available as soon as you upload |
| Build availability | 90 days from upload | Releases expire after a set period (150 days at the time of writing) |
| iOS device registration | Not needed | Needed for ad hoc builds; each tester's device UDID must be in your provisioning profile |
| Tester install experience | Install the TestFlight app, then tap to install builds | Email invite; Android testers can use the App Tester app; iOS testers install a profile and the build from the web |
| Feedback | Screenshots and comments from within the app; crash reports | In-app feedback (Android and iOS SDK), plus Crashlytics if you use it |
| Public beta links | Yes | Invite links for testers |
| Release path | Promote the same build straight to App Store review | Separate upload to the App Store or Google Play |
| CI/CD | Xcode Cloud, Fastlane, App Store Connect API | Firebase CLI, Gradle plugin, Fastlane plugin, GitHub Actions |
| Cost | Included with the Apple Developer Program ($99 a year) | Free |
TestFlight: Pros and Cons
Firebase App Distribution: Pros and Cons
If your app is Android only, Google Play's own testing tracks are worth comparing with Firebase:
| Track | Testers | Review | Best for |
|---|---|---|---|
| Internal testing | Up to 100 | Usually available within minutes | Team and QA builds |
| Closed testing | Lists or Google Groups you define | Reviewed | Wider private betas, and the testing new personal developer accounts must complete before production |
| Open testing | Anyone who joins from the Play Store | Reviewed | Public betas |
You need an Apple Developer Program membership. Add your app record with its bundle ID.
In Xcode, choose Product, then Archive, and upload to App Store Connect, or use Xcode Cloud or Fastlane.
Add up to 100 team members with App Store Connect access. They can test new builds as soon as processing finishes.
Add testers by email or create a public link, fill in the test information and submit the build for Beta App Review.
Testers send screenshots and comments from the app; you see them with crash reports in App Store Connect.
Register the Android package name and iOS bundle ID in the Firebase console.
Collect testers' device UDIDs, register them in your Apple Developer account and build with an ad hoc provisioning profile.
Use the Firebase console, the Firebase CLI, the Gradle plugin for Android or the Fastlane plugin.
Add testers by email or invite link, organise them into groups such as QA, client and staff, and add release notes.
Add the App Distribution SDK so testers can send feedback and screenshots from inside the app, and connect Crashlytics for crash reports.
Automating Distribution With CI/CD
Best Practices for Beta Testing
| Your situation | Best choice | Why |
|---|---|---|
| iOS-only app with a public beta | TestFlight | Up to 10,000 testers, public links, no device registration |
| Android and iOS app with one QA team | Firebase App Distribution | One tool, one tester list, no review delays |
| Builds pointing to staging or test servers | Firebase App Distribution | Keeps test builds away from App Store and Play review |
| Release candidate before App Store launch | TestFlight | The same build can go straight to App Store review |
| Android-only app | Google Play internal testing or Firebase | Play for store-like installs, Firebase for fastest sharing |
| Client demos for agencies | Firebase App Distribution for Android; TestFlight internal or external groups for iOS | Quick sharing without store listings |
| Enterprise apps for employees | Apple Business Manager custom apps or MDM; managed Google Play | Private distribution at scale |
Our Recommended Setup
| Tool | What it offers | Notes |
|---|---|---|
| Google Play testing tracks | Internal, closed and open testing for Android | Native Play Store installs and updates |
| Expo EAS (internal distribution and TestFlight submit) | Builds and shares React Native apps | Great for Expo-based projects |
| Bitrise Release Management | Distribution and release automation for both platforms | Paid, CI-integrated |
| Appcircle | Enterprise app store and distribution | Self-hosted option available |
| Diawi | Quick link sharing for single builds | Simple, but limited tester management |
| Visual Studio App Center | Distribution and diagnostics | Retired by Microsoft on 31 March 2025; migrate away |
Need the app built too? See our iOS app development services and Firebase iOS app development.
The tester's device UDID isn't in the ad hoc provisioning profile. Register the device, regenerate the profile, rebuild and redistribute.
External builds wait for Beta App Review. Use internal testers for urgent checks, and make sure test notes and demo login details are complete.
TestFlight builds expire after 90 days and Firebase releases after their retention period. Automate regular builds so testers always have a current version.
Check spam folders, confirm the tester's email, and for Firebase ask Android testers to use the App Tester app.
Related Reading
We set up automated build, test and distribution pipelines for iOS and Android apps, and run QA for teams that need it. Tell us about your app and current release process, and we'll suggest the right setup within 2 business days.