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?
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/
You can find the links for the older Expo version here https://expo.io/--/api/v2/versions
To downgrade the Expo Go app, you need to download the tar.gz then install it using:
xcrun simctl install booted [path to untarred directory]
More can be read here: https://forums.expo.dev/t/downgrade-expo-client-app-in-ios-simulator/10634/2
Do the following:
- Connect iPhone via USB
- Run
expo run:iosin your expo project, an emulator should come up with your app. You can just ignore it. This was the only way I could find to avoid going through EAS and therefore having to have a $100/year account. Evenbuild:ioswanted a paid account. - Now that the
iosdirectory has been created, open that in Xcode. You should see the phone's name at the top. - After it does all its indexing and downloading, you need to set up the signing. First go to
Preferences -> Accountsand sign in with your apple dev account (doesn't need to be paid) - Go
View -> Navigators -> Project -> $app-name -> Signing & Capabilitiesand fill in the team and whatever else is there. - Press
runin Xcode, and the app should be built onto your phone!
Some notes:
- You need a paid account for notifications. You can remove the
expo-notificationsdependency for testing on your devices - I had to change from an nvm installation of node to a brew one.
Happy coding!
Go into your Project directory and open a Terminal. Then just type in:
expo build:ios
Check here:
https://docs.expo.io/distribution/building-standalone-apps
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
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.
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?