id | title | layout | category | permalink | next |
---|---|---|---|---|---|
runningondevice |
Running On Device |
docs |
Guides |
docs/runningondevice.html |
embedded-app |
Note that running on device requires Apple Developer account and provisioning your iPhone. This guide covers only React Native specific topic.
You can iterate quickly on device using development server. To do that, your laptop and your phone have to be on the same wifi network.
- Open
iOS/AppDelegate.m
- Change the IP in the URL from
localhost
to your laptop's IP - In Xcode select your phone as build target and press "Build and run"
Hint
Shake the device to open development menu (reload, debug, etc.)
You can also pack all the JavaScript code within the app itself. This way you can test it without development server running and submit the app to the AppStore.
- Open
iOS/AppDelegate.m
- Follow the instructions for "OPTION 2":
- Uncomment
jsCodeLocation = [[NSBundle mainBundle] ...
- Run given
curl
command in terminal from the root directory of your app
Packager supports a couple of options:
dev
(true by default) - sets the value of__DEV__
variable. Whentrue
it turns on a bunch of useful development warnings. For production it is recommended to usedev=false
.minify
(false by default) - whether or not to pipe the JS code through UglifyJS.
If curl
command fails make sure the packager is running. Also try adding --ipv4
flag to the end of it.
If you started your project a while ago, main.jsbundle
might not be included into Xcode project. To add it, right click on your project directory and click "Add Files to ..." - choose the main.jsbundle
file that you generated.