基于环境分叉 jsCodeLocation 的最佳实践

Best Practice for forking jsCodeLocation based on environment

我希望能够 运行 在本地或应用商店中使用我的 React-Native 应用程序。

目前我有两条线路:

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

我会酌情评论或取消评论。是否可以做类似 if process.end.NODE_ENV === production 的事情(除了适合 Objective C/iOS)以便真正分叉这个?

Select 项目-> Select "Build Settings" -> 搜索 "Preprocessor Macros" -> 定义宏,如 STATE_DEVELOPMENT = 0 或 1。

在 Release 部分定义 STATE_DEVELOPMENT = 0,在 Debug 部分定义 STATE_DEVELOPMENT = 1.

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