背景
React Native第一个项目差不多完成,打算打包发布到出来,用手机测试一下。那么就涉及四个步骤
- 使用外网后台服务器 RN项目访问外网
- 打包RN项目
- 苹果企业开发者账号签名
- CodePush, 热更新RN项目
其中CodePush没做,会在下一篇里面讲到。这篇文章主要讲2,3两点。React Native官网上的资料真是少,简书上有关的文章,在我写RN项目一路上也帮了我不少忙。今天我就参考了不少资料才完成。下面我就分享一下,希望能帮到遇到同样情况的同学。
打包
主要参考这篇教程
创建离线包
把项目的所有js打包成一个 "main.jsbundle",还有项目里用到的image打包进assets。注意main.jsbundle和 assets的路径。其他教程在这个地方有错误。
react-native bundle --entry-file='index.ios.js' --bundle-output='./ios/MyAppName/main.jsbundle' --dev=false --platform='ios' --assets-dest='./ios'
导入main.jsbundle
用xcode打开RN项目,右击项目,选择"Add Files to...",选择导入"./ios/MyApName/main.jsbundle"
导入assets
将"./ios/assets"目录拖入xcode项目目录,在弹出的选择框中选择"create folder references". 更多了解关于react native assets,请参考这篇教程
修改AppDelegate.m
如图修改加载js路径
测试
至少打包步骤完成,你可以用模拟器测试一下。可能有一些小错误,重新运行项目、卸载项目、关闭react native packager,总有一种办法是生效的。
In House发布
由于我以前有HBuilder打包项目的经验,企业账号打包的文件已经准备好,扫描下载的plist及安装页面完成,此篇教程就不讲,有需要的请评论,我看情况要不要写一下。
安装mobileprovision文件
双击企业开发者账号的*. mobileprovision文件,即安装
项目里选择mobileprovision文件
项目名->Build Settings->Code Signning->Provision Profile,选择刚刚安装的mobileprovision名
修改info.plist的Bundle identifier
项目名->info.plist->Bundle identifier,修改的值是注册Certificates时填入的值
创建iOS App .ipa文件
选择目标设备为"Generic iOS Device"
选择菜单Product->Archive
然后就是导出.ipa喽,其中有一步需要选择apple id,登录入自己的账户,选择就行。
最后
好好学英语对技术的成长有很大帮助。