Google is committed to advancing racial equity for Black communities. See how.

Distribute iOS apps to testers using the Firebase console

You can manage your team's testers and distribute builds to them using the Firebase console.

Before you begin

If you haven't already, add Firebase to your iOS project.

If you aren't using any other Firebase products, you only have to create a project and register your app. However, if you decide to use additional products in the future, be sure to complete all of the steps on the page linked above.

Step 1. Build your app

When you're ready to distribute a pre-release version of your app to testers, build a signed distribution archive. You can use your normal build process as long as you meet the following requirements:

  • To distribute your app beyond your development team, you must use either an Ad Hoc or Enterprise distribution profile.
  • If your app uses Game Center, APNs (and by extension, Cloud Messaging), or iCloud, make sure your provisioning profile uses an explicit app ID, and not a wildcard ID.
  • If you are using an Ad Hoc distribution profile, include the unique device IDs (UDIDs) of your testers' devices. As new iOS testers enroll in your test program, you will need to update the provisioning profile with their devices' UDIDs. See Register additional tester devices.
  • If you have made code changes since the last build (that is, you aren't rebuilding only to update the registered devices), update the build target's user-visible version number (Version) and unique build number (Build).

When the build completes, it saves an IPA file and some log files in the folder you specify. You distribute the IPA file to your testers in the following steps.

Step 2. Distribute your app to testers

To distribute your app to testers, upload the IPA file using the Firebase console:

  1. Open the App Distribution page of the Firebase console. Select your Firebase project when prompted.

  2. On the Releases page, select the app you want to distribute from the drop-down menu.

  3. Drag your app's IPA file to the console to upload it.

  4. When the upload completes, specify the tester groups and individual testers you want to receive the build. Then, add release notes for the build.

    See Manage testers for more on creating tester groups.

  5. Click Distribute to make the build available to testers.

    Testers who haven't been invited to test the app receive email invitations to get started.

    Existing testers receive email notifications that a new build is ready to test.

After you send out App Distribution invitations, you can monitor the status of each tester you invited—whether they accepted the invitation and whether they installed the app—in the Firebase console.

Step 3. Register additional tester devices

When testers accept an invitation to test a build not signed with an Enterprise profile, they are asked for permission to share their device's UDID with you. If they agree, App Distribution collects the UDID from the device and notifies you by email of the newly-shared UDID.

When you receive one of these emails, update your provisioning profile wth the UDID and distribute a new build to your testers by following these steps:

  1. On the Add Devices page of the Apple Developer portal, register the new UDID specified in the email you received.
  2. Add the registered device to your provisioning profile on the iOS Provisioning Profiles page.
  3. Download the provisioning profile and use it to rebuild your app. If you are rebuilding only to update the registered devices, don't update the build number or version.
  4. Re-distribute your app from the Firebase console or CLI. If you have already distributed a build with the same build number and version, only users of newly-registered devices receive notification emails.

After you distribute the build, your tester receives an email invitation from Firebase to install and test your app (read the tester set up guide for instructions on how to install the test app). You can monitor the status of each tester—whether they accepted the invitation and whether they downloaded the app—in the Firebase console.