2017-07-31 3 views
1

Je souhaite être en mesure d'exécuter mon application React-Native localement ou sur l'App Store.Meilleure pratique pour forger jsCodeLocation en fonction de l'environnement

À l'heure actuelle j'ai deux lignes:

// jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; 
    jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; 

Ce que je commentaire ou uncomment selon le cas. Serait-il possible de faire quelque chose comme if process.end.NODE_ENV === production (sauf approprié pour Objective C/iOS) afin de réellement fourchonner cela?

Répondre

2

Sélectionnez Projet-> Sélectionnez "Build Settings" -> Rechercher "préprocesseur macros" -> Définir macro comme STATE_DEVELOPMENT = 0 ou 1.

Dans la section de sortie définir STATE_DEVELOPMENT = 0 et dans la section de débogage définir STATE_DEVELOPMENT = 1.

#if STATE_DEVELOPMENT 
     jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; 
#else 
     jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; 
#endif 
+0

Cela ne peut-il pas être implémenté dans reac-native? Vous avez une très bonne possibilité de relations publiques ici. –