使用Xcode打包React Native项目和打包原生IOS项目还是有一些区别的,主要区别是RN项目需要提前将APP用到的资源进行整合。
步骤一、项目配置
包括配置APP名称、版本号、证书等。配置方法和打包原生APP一样,这里我截图示意。
如果对签名配置有疑问,可以参考我之前的记录:
https://www.jianshu.com/p/083c72de47b0
一般信息配置
签名配置1
签名配置2
步骤二、生成bundle文件
在项目的ios目录下,创建bundle文件夹(叫其它名字也可以)
mkdir ./ios/bundle
文件夹创建成果后使用下面命令将相关资源进行打包,打包过程需要等待一小会。
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ./ios/bundle/index.ios.jsbundle --assets-dest ./ios/bundle
需要注意的是,给出的两个命令都是在项目的根目录下运行的。
命令示意
步骤三、引用生成的index.ios.jsbundle文件
在项目的名称目录下点击右键,Add Files to “APP”,将刚生成的bundle文件夹引入。
引入bundle
引入成功后,修改AppDelegate.m文件,将之前的jsCodeLocation行信息替换为
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"bundle/index.ios" withExtension:@"jsbundle"];
修改AppDelegate.m
步骤四、打包
配置信息已完成,接下来就可以正常打包了。
在打包时,需要注意的是,将模拟设备改为“Generic IOS Device”,然后选择
Product->Archive,否则Archive为不可选状态。