gpbl gpbl - 1 month ago 6
iOS Question

How to build and deploy a react-native app from command line?

I'd like to automate the build + deploy of my React-Native app, for example to submit a TestFlight build.

Before submitting the app, I usually do the following:


  1. I run
    react-native bundle

  2. I switch the build configuration to
    Release
    in the schema

  3. I comment out the code relative to
    jsCodeLocation
    in AppDelegate.m



Is it possible to write a single command from the Terminal for doing those steps, so that I can then deploy it with an automatization tool, e.g. with
fastlane
?

So far, I'd just need to automatize the 2nd and the 3rd step.

To change
jsCodeLocation
I could add a condition, e.g.

#if "<build configuration is release>"
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"];
#else
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#end


but i don't know how to reach the build configuration setting.

Answer

I solved rewriting AppDelegate.m as

#ifdef DEBUG
    jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"];
#else
    jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif

now i can use fastlane to deploy without editing the file.