React Native 打包及in-house发布

728 查看

背景

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"


Paste_Image.png

导入assets

将"./ios/assets"目录拖入xcode项目目录,在弹出的选择框中选择"create folder references". 更多了解关于react native assets,请参考这篇教程


Paste_Image.png

修改AppDelegate.m

如图修改加载js路径


Paste_Image.png

测试

至少打包步骤完成,你可以用模拟器测试一下。可能有一些小错误,重新运行项目、卸载项目、关闭react native packager,总有一种办法是生效的。

In House发布

由于我以前有HBuilder打包项目的经验,企业账号打包的文件已经准备好,扫描下载的plist及安装页面完成,此篇教程就不讲,有需要的请评论,我看情况要不要写一下。


Paste_Image.png

安装mobileprovision文件

双击企业开发者账号的*. mobileprovision文件,即安装

项目里选择mobileprovision文件

项目名->Build Settings->Code Signning->Provision Profile,选择刚刚安装的mobileprovision名


Paste_Image.png

修改info.plist的Bundle identifier

项目名->info.plist->Bundle identifier,修改的值是注册Certificates时填入的值


Paste_Image.png

创建iOS App .ipa文件

选择目标设备为"Generic iOS Device"
选择菜单Product->Archive
然后就是导出.ipa喽,其中有一步需要选择apple id,登录入自己的账户,选择就行。


Paste_Image.png

最后

好好学英语对技术的成长有很大帮助。