react-native iOS Production JS Bundle

时间:2018-05-25 13:58:53

标签: react-native

在测试我的Android应用时,我可以选择在开发和开发之间加载生产包。

有谁知道你是否可以为IOS做同样的事情?我已经在Xcode中更改了构建方案以便发布,但它仍在加载开发包。

任何人都知道怎么做?

1 个答案:

答案 0 :(得分:3)

要加载正确的文件,您实际需要在Xcode中编辑AppDelegate.M文件。此处的代码将检查构建设置是否为debug(因此它加载网络文件)或release(加载本地bundle)

#ifdef DEBUG
    jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
#else
    jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif

在设置jsCodeLocation之前,您需要生成正确的文件。您可以使用以下命令执行此操作:

node node_modules/react-native/local-cli/cli.js bundle --entry-file='index.ios.js' --bundle-output='./ios/YourApp/main.jsbundle' --dev=false --platform='ios' --assets-dest='./ios'

这会将main.jsbundle放在ios文件夹中(我假设你的反应原生项目的根目录)

完成上述步骤后,您可以构建和部署您的应用并尝试一下:)

标记