Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to build .ipa for React Native?

I come to React Native development without previous experience in iOS development. I want to build release. .ipa file - ideally from the command line but the official documentation Running On Device is very brief.

I was able to deploy applications on my iPhone manually via XCode but still, I can't find any "release IPA" file. I have updated my code with #ifdef DEBUG directives to make it more generic.

Is there a way to build an application in release mode only via the command-line? If no, what is "the official" way to generate an RN application?

I am currently using RN 0.20.

like image 323
sodik Avatar asked Feb 18 '16 08:02

sodik


2 Answers

First, you need to create a bundle this way :

react-native bundle --dev false --entry-file index.ios.js --bundle-output ios/main.jsbundle --platform ios 

Then, you have to comment this line in AppDelegate.m :

jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"]; 

and uncomment this one :

jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; 

Then you have to go for Product -> Archive in Xcode and follow the steps based on your desired release

like image 182
G. Hamaide Avatar answered Sep 19 '22 17:09

G. Hamaide


You have to set Scheme to Release.

From docs you have two ways.

To do this, go to Product → Scheme → Edit Scheme (cmd + <), make sure you're in the Run tab from the side, and set the Build Configuration dropdown to Release.

or

You can also use the React Native CLI to perform this operation using the option --configuration with the value Release (e.g. react-native run-ios --configuration Release).

Then you can generate your archive as usual.

https://facebook.github.io/react-native/docs/running-on-device.html#building-your-app-for-production

like image 20
Diego Mello Avatar answered Sep 20 '22 17:09

Diego Mello