React Native热更新(iOS)-Pushy

React Native的出现,使的开发iOS代码出现了更便捷的方式。由于RN是使用脚本语言编写的,实现了“解释执行”的方式,而这种执行方式的修改只需替换脚步即可,不需要重新发布程序,热更新的方式极大的方便了迭代开发。

今天我们选择的热更新组件是Pushy,这是国内开发的,功能类似CodePushCodePush在国内访问及其慢,长城宽度根本无法访问),Pushy支持增量更新,最大化的降低更新的数据量,节约流量。

下面介绍如何利用Pushy进行热更新:

1. 创建react native工程

$react-native init PushyDemo

2. 安装update工具, Pushy热更新需要update配合使用

  • RN 0.29+

$npm install -g react-native-update-cli

  • RN 0.28及以下

$npm install -g react-native-update-cli rnpm

3. 在PushyDemo目录下添加Pushy组件并自动link

  • RN 0.29+

  • RN 0.27-0.28

  • RN 0.26及以下

4. 配置Bundle URL

  • 在工程target的Build Phases –> Link Binary with Libraries中加入libz.tbd、libbz2.1.0.tbd
  • 在你的AppDelegate.m文件中增加如下代码:

5. 配置ATS

  • 从iOS9开始,苹果要求以白名单的形式在Info.plist中列出外部的非https接口,以督促开发者部署https协议。在我们的服务部署https协议之前,请在Info.plist中添加如下,其中true的类型必须是String:

6. 登录与创建应用

  • 登录

  • 创建应用

7. 添加热更新

  • 导入认证key,检查更新时必须提供你的appKey,这个值保存在update.json中

  • 检查更新,下载更新

8. 发布iOS应用

  • 打包ipa文件,并把文件放到PushyDemo的根目录

  • 上传ipa,以供后续版本对比只用

  • 随后你可以选择往AppStore发布这个版本,也可以先通过Test flight等方法进行测试,或者你可以把ipa包通过iTunes安装到手机进行后续测试。

9. 发布热更新版本

  • 修改代码后,打包新的版本

10. 点击客户端的刷新按钮,即可看到有更新版本的提示

到此,已经完成了植入代码热更新的全部工作。


参考资料如下

https://github.com/reactnativecn/react-native-pushy/

感觉不错,打个赏?
微信                                 支付宝
pay_weixin            pay_zhifubao
金额随意 快来“”我呀~
联系方式:kelvin@fishbay.cn

发表评论

电子邮件地址不会被公开。 必填项已用*标注