9

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.

1 Answer 1

16

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.

Sign up to request clarification or add additional context in comments.

1 Comment

Just saying, the app is the client side, not the server side, so the hostname 0.0.0.0 will make the debug version not working. (Although you can modify it in the app's debug menu)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.