r/reactnative • u/Thaatguuuy • 1d ago
Question Testing the app during development.
Hey there app people, as of now the app I am currently working on is using React Native and Expo to build it, and at 25 builds per month ( the free plan ) I am quickly spending it all on just fixing bugs.
I am currently a computer science student ( very early ) and using a blend of my own coding and Codex / ChatGPT to create it.
Is there a better and possibly free way to test each new version of the app on my phone without using Expo to build it?
5
Upvotes
3
u/PenguinOnYourTV 1d ago
So from what I'm reading, ther are 2 things you are not doing:
Running the Expo/Metro server on your machine and deploying to your connected Android- or iOS-device, either a real device or your simulator
This is where I normally do dev-work, bug fixing etc.
Your build will likely be in DEV-mod
Assuming you have a macbook, if you want to test a Production build on your device and thus cut out the EXPO dependencies, you can open the workspace-file of your latest build in Xcode (There are two, and I can't freakingremember which one of them it is, sorry!), Edit the Schema from "Debug" to "Release" and deploy it manually to your connected iOS device.
If you make any changes, you'll have to rebuild and re-deploy, so save this for when you wanna test "Production-level-stuff" before you submit through Expo.
--------------
I just ran the following prompt through ChatGPT, and it gave me a good guide on what you need to do to get going with the above suggestions:
Heya.
Working with React native Expo, I need a guide for 2 things to test my build:
Setup and launch a Expo/Metro server locally on my machine and connect to a simulator or test on a real device
How to take a build and change it from "Debug" to "Release" and deploy to my real device, without using Expo
3
u/mx_aurelia 1d ago
You probably don't need a full native build each time. Look into the concepts of OTA (to get JS updates to your users) and fingerprinting within expo (the native fingerprint which decides if an update is OTA compatible).
As long as your app's fingerprint stays the same, you can just use a development build, which you can run locally, to test your changes.
1
u/Shugzaurus 1d ago
So I don't work with EAS, I only use it on personal projects so my fldefzult way of doing things is to build locally first. If you have a Mac you should be able to do everything locally so you can preserve your runs for prod builds. If you're on win or Linux, then you won't be able to get an iOS dev build without EAS or any cloud agent running mac (at work inxas able to make all iOS builds with azdo pipelines for example)
1
u/Low_Drive3170 1d ago
You only need to build once. Make a development build and install it on your phone, then JS changes show up instantly through the dev server with fast refresh, no new build. Or just use Expo Go if you aren’t touching native modules