File: ios-development-build-for-devices.md | Updated: 11/15/2025
Hide navigation
Search
Ctrl K
Home Guides EAS Reference Learn
Archive Expo Snack Discord and Forums Newsletter
Copy page
Learn how to configure a development build for iOS devices using EAS Build.
Copy page
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.

Watch: Creating a development build for iOS physical device
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:
Terminal
Copy
- 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.
Development build for iOS device
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:Terminal
Copy
- eas build --platform ios --profile development
Tip: Next time you run
eas buildcommand, you can also use-pto 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.Only if you have skipped iOS Simulator chapter : You'll be prompted iOS app only uses standard/exempt encryption? Press Y to select the default value provided for this prompt. Since our app doesn't use encryption, it sets
ITSAppUsesNonExemptEncryptionin the Info.plist file toNOand manages the compliance check for the same when you are releasing your app to TestFlight/Apple App Store. When you are releasing your own app, and it uses encryption, you can selectNto skip this prompt next time.
After responding, the build will queue up, and we can track its progress via a provided link by the EAS CLI in the EAS dashboard:

What does a build details page contain?
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 .
What is iOS bundle identifier?
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.
Alternate: Use the Install button and QR code
The Install button in the Build artifact section generates a QR code for easy installation:

3
Start the development server by running the npx expo start command from the project directory:
Terminal
Copy
- 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.
Mark this chapter as read
In the next chapter, learn how to configure our app config to install multiple app variants on a single device.