本片將文章介紹了將React Native項目打包ipa的過程要销。
1. 打開React Native項目文件构回,在根目錄下找到package.json文件,打開在 "scripts"加入生成ios bundle資源文件的指令:
"bundle-ios":"react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ./ios/bundle/index.ios.jsbundle --assets-dest ./ios/bundle"
--entry-file ,ios或者android入口的js名稱疏咐,比如index.js
--platform ,平臺名稱(ios或者android)
--dev ,設置為false的時候將會對JavaScript代碼進行優(yōu)化處理捐凭。
--bundle-output, 生成的jsbundle文件的名稱,比如./ios/bundle/index.ios.jsbundle
--assets-dest 圖片以及其他資源存放的目錄,比如./ios/bundle
2.在React Native項目ios文件夾下創(chuàng)建一個空的bundle文件夾凳鬓,如果之前打過包不是空的最好清空一下。
3.打開終端進入到React Native項目的跟路徑下患民,執(zhí)行npm run?bundle-ios命令缩举,執(zhí)行成功后生成如下三個文件
4.用Xcode打開ios工程,將assets文件夾和index.ios.jsbundle文件匹颤,拖到工程下一定要選擇Create folder references的方式仅孩,添加完是藍色文件夾圖標,否則的話即使打包成功印蓖,我們使用bundle資源包運行ios項目時也會出現(xiàn)圖片加載不出來的情況辽慕。
5. 再進入AppDelegate.m文件中將jsCodeLoaction定位到bundle資源
6.選中工程Edit Scheme將Run 和Achive的Build Configuration改為release,打包ipa即可赦肃。
ios打包注意事項:
1.離線包如果開啟了chrome調試溅蛉,會訪問調試服務器,而且會一直loading出不來他宛。
2.如果bundle的名字是main.jsbundle,app會一直讀取舊的,改名就好了船侧。。厅各。非常奇葩的問題镜撩,我重新刪了app,clean工程都沒用队塘,就是不能用main.jsbundle這個名字袁梗。
3.必須用Create folder references【藍色文件夾圖標】的方式引入圖片的assets,否則引用不到圖片
4.執(zhí)行bundle命令之前憔古,要保證相關的文件夾都存在
參考文章:https://blog.csdn.net/xu_song/article/details/52870593
? ? ? ? ? ? ? ? ? http://www.reibang.com/p/7bdf90d9f966