2015-10-01 11 views
7

Mi piacerebbe automatizzare la build + deploy della mia app React-Native, ad esempio per inviare una build di TestFlight.Come creare e distribuire un'applicazione nativa reattiva dalla riga di comando?

Prima di presentare l'applicazione, di solito faccio la seguente:

  1. corro react-native bundle
  2. posso passare la configurazione di generazione per Release nello schema
  3. commento fuori il codice relativo alla jsCodeLocation in AppDelegate .m

E 'possibile scrivere un singolo comando dal Terminale per fare questi passaggi, in modo che possa quindi depl puoi farlo con uno strumento di automatizzazione, ad es. con fastlane?

Finora, ho solo bisogno di automatizzare il 2 ° e il 3 ° passo.

Per modificare jsCodeLocation È possibile aggiungere una condizione, ad es.

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

ma non so come raggiungere l'impostazione di configurazione di build.

risposta

14

ho risolto riscrivendo AppDelegate.m come

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

ora posso usare Fastlane per distribuire senza modificare il file.

+0

Solo dicendo, l'app è lato client, non lato server, quindi il nome host '0.0.0.0' renderà la versione di debug non funzionante. (Anche se puoi modificarlo nel menu di debug dell'app) – RnMss

Problemi correlati