If you are looking to run a native build without using Expo Go on a physical iOS device (not a simulator), you can plug in your device to your computer by cable and use the following code:
npx expo run:ios --device
This is useful in cases when you need to test notifications, native code, etc.
Alternatively, if you're using yarn, try:
yarn expo run:ios --device
Answer from Brian Li on Stack OverflowIf you are looking to run a native build without using Expo Go on a physical iOS device (not a simulator), you can plug in your device to your computer by cable and use the following code:
npx expo run:ios --device
This is useful in cases when you need to test notifications, native code, etc.
Alternatively, if you're using yarn, try:
yarn expo run:ios --device
Yes, it is possible, and quite easy to get it running.
Step 1: Open Expo XDE, and click on the gray cog to change host mode to LAN. Make sure you enabled Development Mode. You'll see an URL right in front of you. Wait until packager to start running.
Step 2: Open Expo App in your mobile device, and click on the second tab 'Explore' and enter the URL that starts with exp://192.168... This is a local connection to your computer. You will see your app running in a minute.
Make sure your phone and computer are on the same WiFi!
For further information, you may refer to official documents here.
Videos
I've been working with Expo React Native for Android for quite a while but I'm very new to Expo React Native iOS. Like in Android when we generate .apk file it can be directly run on a physical device without submitting to Playstore. Can the same be done for iPhone?
In short: Can I install iOS app directly into iPhone without submitting to AppStore?
Hi, is there a way to deploy an app on a physical device without the need for a paid developer account or a mac? I do have an iPhone. Any help would be great. I just need to run my app on my apple device. Thank you.
I’ve noticed a few of my friends are taking a different approach to building iOS apps, and I wanted to see how common this is. Currently, I’m learning SwiftUI to build a small app for myself. Since I only plan to target iOS, SwiftUI seemed like the natural choice.
However, a couple of my friends are using Expo and React Native for their projects—even though they have no plans to release their apps on Android. When I asked why, they said Expo is easier to work with and that building apps with SwiftUI is significantly more complex.
Can anyone with experience in both ecosystems weigh in on this? Is SwiftUI really that much harder? Should I consider switching to Expo and focus on learning TypeScript instead?
Actually, you can install your React-native Expo app on your iOS device if you have an Apple developer account, you can follow the detailed step-by-step guide in this article: https://medium.com/nerd-for-tech/your-guide-to-testing-your-expo-react-native-application-on-ios-abbde4086d08
You can't directly install the React-native Expo app on your phone. You must use the AppStore or Expo client for IOS.
https://docs.expo.io/versions/v36.0.0/distribution/app-stores/
https://docs.expo.io/versions/latest/distribution/building-standalone-apps/
If you use expo, then we build the iOS app for you on our machines. You can test the app on your local Android device.
You need a macOS machine to build your application. On Expo, they have macOS machines that build your app. But now you can also build non-expo applications, by remotely accessing a macOS build machine as part of Codemagic's product. Currently, you can get 500 build minutes for free per month.
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.
- Change the Build Configuration: In Xcode -> Product -> Scheme -> Edit Scheme -> choose "Debug" -> Close
- Build the app: Product -> Build
- Archive your app: if there are no building errors -> Product -> Archive
- 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
- Install app on connected device: Connect device to your Mac -> Window -> Devices and Simulators -> Under "Installed Apps", click on "+" -> Select .ipa file
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.
I have nearly finished making an app for tracking my nutrition – basically a better version of MyFitnessPal custom made to my own needs. I never intend on distributing it. I want a local build, with its own dedicated app icon on my home screen, not the tedium of opening Expo Go and tapping through to my build.
Is there a way to accomplish this without having to go through App Review? I'm afraid it will fail review because it's a blatant copycat, even though I only made it for personal use.
Hi, is there any configuration which I can do in expo to build the app for Iphones only not Ipads.