Creating iOS Ad Hoc Builds with Expo & React Native

When creating mobile phone applications for iOS, there is a whole load of background checking that Apple’s systems do before they’ll let an app run on your iPhone. To the point that it isn’t really your iPhone. It’s theirs that they’re letting you use.

A lot of the checking comes down to what is says in the app.json file in your react native app.

There needs to be a build profile that allows the app to run on your phone.

Additionally, the app that runs on your phone, has your phone’s UDID number in it. It is essentially built specifically to run on your (and up to 99 other) phone(s).

When running the eas build command, you must specify the build profile or the app will not work.

eas build --profile preview --platform ios

If you do not run the build in the correct way, you’ll get an error message stating that this app cannot be installed because apple cannot verify its integrity. Which basically means the phone’s UDID number is not found in the app.

You’ll know you’re on the right tracks because during the build process, it will ask you which devices from the list on your apple developer’s account, you want to add to this particular ad hoc build.

When creating mobile phone applications for iOS, there is a whole load of background checking that Apple’s systems do before they’ll let an app run on your iPhone. To the point that it isn’t really your iPhone. It’s theirs that they’re letting you use. A lot of the checking comes down to what is says…