很多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中文网
感谢您的阅读。