很多RN新同學剛剛弄明白怎樣真機調試,但是手機一離開電腦就不能繼續用了,想看看demo都不行,現在就給大家分享一下ios打包到手機的方法
1、修改AppDelegate.m文件
這一步很簡單,將下面這一行注釋掉
jsCodeLocation = [[RCTBundleURLProvidersharedSettings] jsBundleURLForBundleRoot:@"index.ios"fallbackResource:nil];
然后新加一行:
jsCodeLocation = [[NSBundle mainBundle]URLForResource:@"index.ios" withExtension:@"jsbundle"];
如果需要切換回模擬器調試,只需要將新加這行注釋掉,并恢復原代碼即可。
2、到rn項目的ios目錄下面建立一個bundle文件夾
3、打開終端,進入你的rn工程,在根目錄下執行bundle命令
react-native bundle --entry-file ./index.ios.js --bundle-output ./ios/bundle/index.ios.jsbundle --platform ios --assets-dest ./ios/bundle --dev false
參數說明:
--entry-file 指定入口文件 因為要打包ios平臺,所以指定為rn項目的index.ios.js作為入口
--bundle-output 指定輸出的jsbundle文件路徑和文件名 指定到rn項目的ios工程文件夾下,記得一定要先創建bundle文件夾,不然終端會報文件夾找不到的錯誤
--platform 指定平臺類型
--assets-dest 指定資源文件夾路徑 assets文件夾的路徑,包含圖片、node模塊等資源
--dev 是否為開發模式 如果設置為false,不會產生警告,并且bundle會被壓縮
4、用xcode打開項目,然后將bundle中的所有東西拖到項目下,記得選create folderreferences
5、調整xcode
Xcode-->Product-->Scheme-->Edit Scheme... 然后在 Run-->Info-->Build Configuration 中選擇Release
6、調整完就可以通過xcode在手機上打包運行了,在手機上打包完,拔掉數據線也可以隨時看demo了哦。
參考文章:
【1】http://blog.csdn.net/flasco/article/details/74358649
【2】RN官網 或 RN中文網
感謝您的閱讀。