Ok, looks like I figured out how to do this, so following steps are needed:

  1. npx expo prebuild
  2. open ios/YourProject.xcworkspace
  3. Go to project settings "Signing & Capabilities" and select your team
  4. Go to project settings "Signing & Capabilities" and remove "Push Notifications"
  5. Click on top bar your project name, select "Edit Scheme", select "Build Configuration" - Release
  6. Build bundle with npx expo export:embed --entry-file='node_modules/expo/AppEntry.js' --bundle-output='./ios/main.jsbundle' --dev=false --platform='ios'
  7. In Xcode in Build phases -> Bundle React Native code and images -> Check off "For install builds only" if it's checked
  8. Go to Xcode, select your connected device and run the project

I did many iterations, but this looks like fixed the problem for me.
Now I can test my app on my iPhone in release mode without need to connect to dev server.

I see still that `npx eact-native run-ios --mode Release --terminal terminal`` not working for some reason, fails to build.

🌐
Expo Documentation
docs.expo.dev › build › setup
Create your first build - Expo Documentation
The easiest way to try out EAS Build is to create a build that you can run on your Android device/emulator or iOS Simulator. It's quicker than uploading it to a store, and you don't need store developer membership accounts.
Top answer
1 of 2
7

With the current Expo SDK 50, using npx expo prebuild is the right starting point. After you did this, you need to build your project without relying on the metro server. This means, you have to build a standalone .ipa file for ios. You can do all of the following in Xcode by opening your ios/*.xcworkspace file.

  1. Change the Build Configuration: In Xcode -> Product -> Scheme -> Edit Scheme -> choose "Debug" -> Close
  2. Build the app: Product -> Build
  3. Archive your app: if there are no building errors -> Product -> Archive
  4. Export archived app: Window -> Organiser (this should open up automatically after step 3) -> select the archived build -> Distribute App -> Debug -> Perform signing procedure -> Select destination for .ipa file
  5. Install app on connected device: Connect device to your Mac -> Window -> Devices and Simulators -> Under "Installed Apps", click on "+" -> Select .ipa file
2 of 2
1

If you want to run your Expo app on your physical device without using the Expo Go app and an Expo server, you would need to create a standalone app binary (an IPA file for iOS).

This process involves "ejecting" from the managed Expo workflow to gain more control over the build process. Here's the general process:

  • Run expo eject in your project directory. This will create native iOS and Android project directories and configuration files.

  • For iOS, you'll now have an ios folder in your project directory. You can open this in Xcode by navigating to the directory and opening the .xcworkspace file.

  • From Xcode, you can run your app on a connected device by selecting the device from the target device list and clicking the "play" button.

Please note: In order to install the app on a physical device, you'll still need an Apple Developer account, even if it's just the free version. You'll have to sign your app with a development certificate. The app will also only run as long as the development certificate is valid, which is typically 7 days for a free Apple Developer account. After this period, you'll need to re-sign and re-install the app.

If you're looking for a way to run your app on your physical device indefinitely without an Apple Developer account, unfortunately, this is not possible due to Apple's policies.

🌐
Expo Documentation
docs.expo.dev › build-reference › ios-builds
iOS build process - Expo Documentation
Additional step for managed projects: Run npx expo prebuild to convert the project to a bare one. This step will use the versioned Expo CLI. Restore a previously saved cache identified by the cache.key value in the build profile. Run pod install in the ios directory inside your project.
🌐
Expo Documentation
docs.expo.dev › develop › development-builds › create-a-build
Create a development build on EAS - Expo Documentation
To build locally without EAS requires your local development environment to be set up with native build tools. This is the only way to test your iOS build on an iPhone device without a paid Apple Developer Account (only possible on macOS).
🌐
Expo Documentation
docs.expo.dev › tutorial › eas › ios-production-build
Create a production build for iOS - Expo Documentation
Learn about the process of creating a production build for iOS and automating the release process.
Find elsewhere
🌐
Expo
expo.dev
Expo
Build your app and distribute it to Android, iOS, and the web from a single codebase with Build and Hosting.
🌐
GitHub
github.com › expo › expo
GitHub - expo/expo: An open-source framework for making universal native apps with React. Expo runs on Android, iOS, and the web.
Learn about building and deploying universal apps in our official docs! ... packages All the source code for Expo modules, if you want to edit a library or just see how it works this is where you'll find it. apps This is where you can find Expo projects which are linked to the development modules. You'll do most of your testing in here. apps/expo-go This is where you can find the source code for Expo Go. apps/expo-go/ios/Exponent.xcworkspace is the Xcode workspace.
Starred by 45.9K users
Forked by 10.4K users
Languages   TypeScript 55.8% | Kotlin 16.9% | Swift 12.3% | Objective-C 4.2% | JavaScript 3.1% | C++ 2.9%
🌐
Pagepro
pagepro.co › home › blog › publishing expo apps to app store and google play store: 2025 guide
How to Publish Expo React Native App to iOS and Android in 2025
August 25, 2025 - Configure your project via app.json (including fields like bundleId, version, and icon). Use EAS CLI to build your app with eas build. Log into your Apple Developer and Google Play accounts to provide credentials.
🌐
Expo Documentation
docs.expo.dev › tutorial › eas › ios-development-build-for-devices
Create and run a cloud build for iOS device - Expo Documentation
This section provides the methods available for running the development build on an iOS device: Expo Orbit and Install button.
🌐
Expo Documentation
docs.expo.dev › build-reference › simulators
Build for iOS Simulators - Expo Documentation
Running a build of your app on an iOS Simulator is useful. You can configure the build profile and install the build automatically on the simulator. This provides a standalone (independent of Expo Go) version of the app running without needing to deploy to TestFlight or even having an Apple Developer account.
🌐
Quora
quora.com › How-can-I-install-my-own-iOS-apps-developed-using-Expo-on-my-iPhone-without-a-Mac-and-Apple-developer-Account
How to install my own iOS apps (developed using Expo) on my iPhone without a Mac and Apple developer Account - Quora
Answer (1 of 2): In order to test and debug your iOS apps, you can install your own copies of the apps on compatible iOS devices. This can only be achieved through Xcode, Apple’s development tool, which is free to download. If you want to distribute your apps commercially via the Apple App ...
🌐
Expo Documentation
docs.expo.dev › deploy › build-project
Build your project for app stores - Expo Documentation
Production builds are submitted to app stores for release to the general public or as part of a store-facilitated testing process such as TestFlight. This guide explains how to create production builds with EAS and locally. It is also possible to create production builds for Expo apps with any CI service capable of compiling Android and iOS apps.
🌐
Expo Documentation
docs.expo.dev › guides › local-app-development
Local app development - Expo Documentation
You can pass in --variant release (Android) or --configuration Release (iOS) to build a production build of your app. Note that these builds are not signed and you cannot submit them to app stores.
🌐
Medium
medium.com › nerd-for-tech › your-guide-to-testing-your-expo-react-native-application-on-ios-abbde4086d08
How to install your Expo React Native application on iOS without using Xcode or macOS | by Amr Essam | Nerd For Tech | Medium
August 16, 2021 - In this article, We’ll go through step by step until you open your Expo Managed Workflow application on your iOS device by generating and downloading a “.ipa” file on an iOS device. As mentioned before, this article is best suited for users with Expo Managed Workflow, for more information about the difference between the managed and bare workflows you can refer to this Expo article. The steps are performed on Ubuntu, but it won’t change if you’re using another Linux distribution or even Windows. ... In the first 8 steps, we configure your Apple developer account and create files needed to build your application.
🌐
Expo Documentation
docs.expo.dev › develop › development-builds › introduction
Introduction to development builds - Expo Documentation
The only way to get around it is to build your native app yourself instead of using Expo's pre-packaged sandbox. This is exactly what a Development Build is, your own version of Expo Go, where you are free to use any native libraries and change ...