If you want to distribute ad hoc iOS builds using App Distribution, you must follow
this guide to register your testers' devices. An
ad hoc
build
is a build not signed with an Enterprise profile. A device can only install an
ad hoc build if the device's unique device identifier (UDID) is included in the
build's provisioning profile.
When a tester accepts an invitation to test your app, App Distribution requests
permission to share the tester's device identifier with you, the developer.
Before downloading an ad hoc build, App Distribution asks the tester to register
their device. If the tester registers their device, App Distribution collects the
UDID from the device and notifies you of the UDID by email.
When you receive an email containing a UDID, update your provisioning profile
with the UDID and distribute a new build to your testers. You can manually
export UDIDs using the
Firebase console or Firebase
CLI
, or you can programmatically export UDIDs using
fastlane
.
Manually export UDIDs
- Add the devices to your Apple developer portal.
- Option 1:
Import the device UDIDs as a CSV file.
In the
Testers & Groups
tab of the App Distribution dashboard, select
All testers
, then click
Export Apple UDIDs
to download a CSV file. Next, import the file into your
Apple developer account
using the
Register Multiple Devices
option. To learn more, see
Distributing your app to registered devices
.
Note that your Apple developer account may only allow you to import a limited number of
devices per year.
- Option 2:
Collect and enter the UDIDs by email.
On the
Add Devices
page of the Apple developer portal, register the new UDID specified in the
email you received.
- Add the registered devices to your
provisioning profile
.
- 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.
- Re-distribute your app from the
Firebase console
or
CLI
.
If you don't change your version, build number, or your app's code,
App Distribution does not create a new release and won't notify testers. If
you already distributed a build with the same build number
and version, only users of newly-registered devices receive notification
emails.
Programmatically export UDIDs using fastlane
Export all of your tester device UDIDs as a CSV file from fastlane. For
example, create and run a new
download_udids
lane:
lane :download_udids do
firebase_app_distribution_get_udids(
app: "<your Firebase app ID>",
output_file: "<path to output file>",
)
end
Import the UDID(s) into your
Apple developer account
using the
Register Multiple Devices
option. To learn more, see
Apple's
documentation
.
Note that your Apple developer account may only allow you to import a
limited number of devices per year.
Add the registered devices to your
provisioning profile
.
Download the provisioning profile and use it to rebuild your app. If you are
rebuilding only for the purposes of updating the registered devices, don't
update the build number or version.
Re-distribute your
app
. If you
don't change your version, build number, or your app's code,
App Distribution does not create a new release and won't notify testers. If you
already distributed a build with the same build number and version, only
users of newly-registered devices will receive notification emails.
Receive alerts
Get default alerts
By default, Firebase can send App Distribution alerts for new iOS device
registrations via email.
To receive App Distribution alerts via this default mechanism, you must have the
firebase.projects.update
permission. The following roles include this required
permission by default:
Firebase
Admin
or project
Owner or
Editor
.
By default, every project member (who has the required permissions to receive
alerts) will get an email when a new iOS device is registered.
Turn on/off alerts for your own account
For your own account, you can turn on/off App Distribution alerts without
affecting other project members. Note that you still need the required
permissions to receive alerts.
To turn App Distribution alerts on or off, follow these steps:
- In the Firebase console, in the top right-corner, go to
notifications
Firebase
alerts
.
- Then, go to
settings
Settings
and set your account preference for App Distribution
alerts.
Set up advanced alerting to third-party services
You can also send App Distribution alerts to your team's preferred notification
channel using Cloud Functions for Firebase. For example, you can write a function
that captures an alert event for the registration of a new iOS device and post
the alert information to a third-party service, like Discord, Slack, or Jira.
To fully automate onboarding new iOS testers, you can write a function that adds
a new iOS device's UDID to the provisioning profile of your app, rebuilds the
app, and redistributes the app with the updated provisioning profile.
To set up advanced alerting capabilities using Cloud Functions for Firebase, follow these steps:
Set up Cloud Functions for Firebase
,
which includes the following tasks:
- Set up a development environment for Node.js or Python.
- Install and sign into the Firebase CLI.
- Initialize Cloud Functions for Firebase using the Firebase CLI.
Write and deploy a function
that
captures an alert event from App Distribution and handles the event
payload (for example, posts the alert information in a message on Discord).
To learn about all of the alert events that you can capture, go to the reference
documentation for
App Distribution
alerts
.
Next steps