一、在自己項(xiàng)目的iOS文件夾下新建一個文件夾取名bundle

Snip20180801_2.png
二、將打包命令寫到項(xiàng)目package.json文件里,終端執(zhí)行 npm run bundle-ios
先添加如下(注意:這里寫的路徑"./ios/bundle"就是上面bundle創(chuàng)建的文件夾):
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"bundle-ios":"node node_modules/react-native/local-cli/cli.js bundle --entry-file index.ios.js --platform ios --dev false --bundle-output ./ios/bundle/index.ios.jsbundle --assets-dest ./ios/bundle"
},

Snip20180801_3.png
再終端執(zhí)行:
npm run bundle-ios
打包命令完成后會在我們新建的文件夾bundle里面生成相應(yīng)的文件。
三、添加資源
用Xcode打開項(xiàng)目,選中跟項(xiàng)目同名的那個文件夾,右鍵,選中‘Add Files to ..’選項(xiàng),然后選擇新建的那個bundle文件夾,在彈出的對話框中,點(diǎn)擊options,一定要勾選Create folder references選項(xiàng),將bundle文件夾添加到項(xiàng)目里,Xcode下該文件夾一定要是藍(lán)色的。
-
點(diǎn)擊‘Add Files to ..’
Snip20180801_4.png
2.勾選Create folder references,然后add

Snip20180801_5.png
四、配置jsCodeLocation
修改AppDelegate.m中的加載包的方式如下:
#ifdef DEBUG
// debug包
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
#else
// 離線包
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"bundle/index.ios" withExtension:@"jsbundle"];
#endif
五、正常Archive
之后就可以按照iOS app正常的打包方式打包了,配置證書、描述文件等等。
謝謝!
