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-reference › ios-builds
iOS build process - Expo Documentation
October 22, 2025 - Run npx expo-doctor to diagnose potential issues with your project configuration. ... Create a new keychain. Import the Distribution Certificate into the keychain. Write the Provisioning Profile to the ~/Library/MobileDevice/Provisioning Profiles ...
🌐
DevGenius
blog.devgenius.io › how-to-build-an-ios-expo-app-without-using-eas-build-78bfc4002a0f
How to build an iOS Expo App without using EAS Build | by Michael Essiet | Dev Genius
August 8, 2023 - Now let’s get started on how we can go about archiving our app. Firstly you’ll need to run npx expo prebuild if you have an Expo managed project. After running the prebuild command you’ll need to run npx pod-install or cd into the ios ...
Discussions

ios - How to build expo app with Xcode, without metro - Stack Overflow
I have an expo app, and I want to build it using Xcode to install it on my iPhone, without having to upload it to the store or something like that (because it's only for me and testing purposes) I ran the command "npx expo prebuild" to create the android/ and iOS/ folders. More on stackoverflow.com
🌐 stackoverflow.com
How to build ios app with expo(not for appstore)
I think apple dev account is not even necessary since XCode 7 and you just need an apple ID (although capabilities may be restricted). But you need a Mac device +XCode. Just look for "iOS free provisioning", there is a wealth of articles out there. More on reddit.com
🌐 r/reactnative
4
0
January 31, 2024
xcode - npx expo run:ios build failed - Stack Overflow
I am currently creative a react native expo application for the first time. I was implementing firebase authentication when i got an error saying Native module RNFBAppModule not found. Re-check mod... More on stackoverflow.com
🌐 stackoverflow.com
Is there really no simple way to build and run an Expo app locally via Xcode?
I use the `npx expo run:ios` command to sync the latest changes with Xcode and then build and run on the simulator. You can also use your physical device. Make sure you are using development builds for the most accurate reproduction. Once you have installed the app itself on your physical device scan the QR code with your camera and open in your app. If you want to publish without eas, you can create an archive in the menu bar underneath Product > Archive. Also make sure you are opening .xcworkspace file in xcode. More on reddit.com
🌐 r/expo
19
3
July 9, 2025
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 › tutorial › eas › ios-production-build
Create a production build for iOS - Expo Documentation
Select Build credentials and choose All: Set up all the required credentials to build your project. Now, it will prompt whether we want to re-use the previous Distribution Certificate. Press Y. Generate a new Apple Provisioning Profile? Press Y. This will be the provisioning profile for the production app. Once the profiles are created, press any ctrl + c to exit the EAS CLI. ... To create an iOS production build using the default production profile, open your terminal and execute the following command.
🌐
Stack Overflow
stackoverflow.com › questions › 79433771 › npx-expo-runios-build-failed
xcode - npx expo run:ios build failed - Stack Overflow
The following build commands failed: PhaseScriptExecution [CP-User]\ Generate\ Specs /Users/j1y/Library/Developer/Xcode/DerivedData/coRun-ewrxvppzwsudgofkjiqnzzmxbunb/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/ReactCodegen.build/Script-46EB2E000229B0.sh (in target 'ReactCodegen' from project 'Pods') Building workspace coRun with scheme coRun and configuration Debug (2 failures) Build logs written to /Users/j1y/Documents/Computer Science BSc/Computer Science Year 3/Final Project/Dissertation/CoRun-Fitness-App/coRun/.expo/xcodebuild.log · I have attempted to delete the ios and andriod files and run the prebuild again, delete the pod files and reinstall them and also tried to clear the cache by running npx expo start -c.
Find elsewhere
🌐
Reddit
reddit.com › r/expo › is there really no simple way to build and run an expo app locally via xcode?
r/expo on Reddit: Is there really no simple way to build and run an Expo app locally via Xcode?
July 9, 2025 -

I'm trying to follow what I thought would be a straightforward local workflow:

  1. Start the Expo dev server with expo start

  2. Develop the app on the iOS simulator

  3. Once ready, open the Xcode project, build, and run it on the simulator

Unfortunately, step 3 fails because the app expects the Expo dev server (Metro) to be running to fetch the JS bundle. This seems like a hard requirement.

I suppose you could manually tweak the Xcode project to load the bundle as a local resource, but that feels counterintuitive and messy.

Also, eas build --local still requires both Expo build tools and an Apple developer account, so it's not a pure local solution either.

Am I missing something obvious here, or is this just how it works with Expo right now? Any tips or clarification would be appreciated — thanks!

EDIT:

When I say step 3 fails, I meant that is running the expo dashboard which requires the dev server to run. I just want to run it without the server i.e. as the production build.

🌐
Stack Overflow
stackoverflow.com › questions › 79661170 › unable-to-build-ios-simulator-locally-with-npx-expo-runios
react native - Unable to Build iOS Simulator Locally with npx expo run:ios - Stack Overflow
platform :ios, '16.0' prepare_react_native_project! use_frameworks! :linkage => :static · run npx expo-doctor and check for compatibility issues
🌐
Reddit
reddit.com › r/expo › how to generate an .ipa using expo
r/expo on Reddit: How to generate an .ipa using expo
April 6, 2023 -

hello, I'm new to expo and react native, I made an app and I want to test it on an actual iPhone device, can someone tell me the steps?

I heard using 'eas build' is the way, but it require a paid account and I don't want to pay before I'm sure it works. :)

🌐
Expo Documentation
docs.expo.dev › build › setup
Create your first build - Expo Documentation
A React Native Android and/or iOS project that you want to build · Don't have a project yet? No problem. It's quick and easy to create a "Hello world" app that you can use with this guide. Run the following command to create a new project: ... EAS Build also works well with projects created by npx create-react-native-app, npx react-native, ignite-cli, and other project bootstrapping tools.
🌐
Expo Documentation
docs.expo.dev › develop › development-builds › create-a-build
Create a development build on EAS - Expo Documentation
This is the only way to test your iOS build on an iPhone device without a paid Apple Developer Account (only possible on macOS). Read more about local app compilation and see the Expo Go to Development Build guide. For detailed, step-by-step instructions, see our EAS Tutorial. Available also as a tutorial series on YouTube. ... Apps that don't use Continuous Native Generation or are created with npx react-native, require further configuration after installing this library.
🌐
Expo Documentation
docs.expo.dev › guides › local-app-development
Local app development - Expo Documentation
October 21, 2025 - To create a development build, you can use local app compilation commands (npx expo run:[android|ios]) which will create a debug build and start the development server.
🌐
YouTube
youtube.com › watch
How to create your first Expo app | Universal App tutorial #1
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
🌐
Expo Documentation
docs.expo.dev › more › expo-cli
Expo CLI - Expo Documentation
November 11, 2025 - Generate the native Android and iOS directories for your project: npx expo prebuild. Build and run the native apps locally: npx expo run:ios and npx expo run:android.
🌐
Reddit
reddit.com › r/reactnative › difference between expo-dev-client & npx expo prebuild & npx expo run:ios/android
r/reactnative on Reddit: Difference between expo-dev-client & npx expo prebuild & npx expo run:ios/android
January 11, 2024 -

I'm really confused on the following topics,
1.expo-dev-client (why not expo go?)
2.npx expo prebuild
3.npx expo run:ios/android

I'm coming from react-native-cli background and I really feel overwhelming after finding documentations and videos for the above topics. I didn't understand what the documentation says too. Can somebody tell me the purpose of the above topics. I know what npx expo prebuild does. but I'm not sure whether other things do or doing the same thing as prebuild does. And why I saw some people have commented better using expo-dev-client than expo go. Can somebody briefly explain. Thanks. I really appreciate

🌐
GitHub
github.com › expo › expo › issues › 24615
Can't run on device on iOS 17 · Issue #24615 · expo/expo
September 25, 2023 - Summary I'm trying to use npx expo run:ios --device to run the development app on my iPhone. This worked fine on iOS 16 but has stopped working on iOS 17. Every time I run the command, it build...
Published   Sep 25, 2023
🌐
DEV Community
dev.to › arielmejiadev › open-successfully-ios-simulator-with-react-native-expo-472b
Open Successfully iOS Simulator with React Native & Expo - DEV Community
June 19, 2024 - The second solution is to delete node_modules folder and package-lock.json, then run npm install, then run npx expo start. The sections where most issues to run iOS Simulator are: