Edit this page
Learn how to configure a development build for iOS devices using EAS Build.
In this chapter, we'll create a development build that can run on an iOS device with EAS Build.
Development builds for iOS devices are generated in the .ipa format, which is standard for iOS app installations.
Before we begin, ensure you have:
To initiate development on an iOS device, we have to:
1
With EAS CLI, run the command to register a new Apple device:
-
eas device:create
This command prompts us with the following questions
Tip: If you or your team have multiple devices, you can share the provisioning profile link with those devices for downloading and installing the profile.
2
On a device's web browser, open the link provided in the previous step and tap the Download Profile button.
Open the Settings app, which prompts us to register our device.
Tap Install to register the iOS device.
After the provisioning profile is installed, our device redirects us back to the web browser, displaying a success message indicating the completion of the process.
1
To create a development build on an iOS device, make sure that under the build.development
profile:
developmentClient
is set to true
in eas.json, which is done by the default configuration.eas build
command with ios
as the platform and development
as the build profile:-
eas build --platform ios --profile development
Tip: Next time you runeas build
command, you can also use-p
to specify the platform. It is short for--platform
.
This command prompts us with the following questions when we create the build for the first time:
ios.bundleIdentifier
in app.json if it isn't already defined.After responding, the build will queue up, and we can track its progress via a provided link by the EAS CLI in the Expo dashboard:
The build details page displays the build type, profile, Expo SDK version, app version, build number, last commit hash, and the identity of the developer or account owner who initiated the build.
In the above image, the current status of the Build artifact shows that the build is in progress. Upon completion, this section will offer an option to download the build. The Logs outlines every step taken during the iOS build process on EAS Build. For the sake of brevity, we won't explore each step in detail here. To learn more, see iOS build process.
The ios.bundleIdentifier
is a unique name of our app. If we publish our app right now, the Apple App Store will use this property and its value to identify our app on the store.
This notation is defined as host.owner.app-name
. For example, our example app has com.owner.stickersmash
where com.owner
is the domain and stickersmash
is our app name.
2
Once the build finishes, the Build artifact section gets updated, indicating that the build is complete:
This section provides the methods available for running the development build on an iOS device: Expo Orbit and Install button.
Expo Orbit allows for seamless installation of the development build on an iOS device. To use this method:
After the build is installed, the Orbit app launches the development build on the device.
3
Start the development server by running the npx expo start
command from the project directory:
-
npx expo start
Chapter 4: Create and run a cloud build for iOS device
We successfully used EAS Build to create and run development builds on iOS devices.
In the next chapter, learn how to configure our app config to install multiple app variants on a single device.