‘react-native热更新‘

前言

最新做了app的业务, 由于之前没有做过热更新导致每次更新都要去更新app, 特别麻烦. 所以花了点时间, 接入了热更新的功能。
我选择的是react-native-code-push的npm包。


接入与安装

首先进行安装

npm || yarn 
react-native link react-native-code-push
接入时选择跟自己的react-native匹配的react-native-code-push进行接入。

react-native-code-push接入

全局安装cli
npm || yarn  install -g code-push-cli
注册账号
code-push register
登录
code-push login

android接入

code-push app add appName(你要用的名字) Android react-native

code-push deployment -k ls <appName>
查看生成app的key, key分为ProductionStaging
我这边用的是Production, 在adnroid/app/src/main/java/com/你的app名称MainApplication.java 找到new CodePush(第一个参数替换app-Production key)
还有就是把android当前版本修改为1.0.0, 修改版本的文件在android/app/build.gradle的versionName.
最后使用mkdir bundles创建目录打包所需文件,

react-native bundle --platform android --entry-file index.js --bundle-output ./bundles/index.android.bundle --assets-dest ./bundles --dev false

##ios接入

ios的操作步骤与android大部分是相似的, 不同的是
需要把ios的Production-key放到xcode
以下所有的步骤都是在打开Xcode导入你的ios后进行操作的。
info.plistdCodePushDeploymentKey里。
还有就是在appDelegate.m
在顶部加入
#import <CodePush/CodePush.h>
在最下面 else, 加入

return [CodePush bundleURL];
// return [[NSBundle mainBundle] URLForResource:@"assets/index.ios" withExtension:@"jsbundle"];
注释掉这段代码。

配置完以后生成ios的文件包, 上面已经创建过了, 就不在创建
在Xcode中记得修改版本。


react-native bundle --platform ios --entry-file index.ios.js --bundle-output ./bundles/main.jsbundle --assets-dest ./bundles --dev false

最后上传

code-push release 你的android||ios的app名称 ./bundles/ 1.0.0 --deploymentName Production  --description "1.修改标题颜色。" --mandatory false

注意

在对android或者ios更新的时候要注意当前你的包的版本,如果android||ios当前版本为1.0.2上传的版本也要是一一对应的。


补充

我觉得在使用的时候可以先使用官方的demo, 先测试下, 是否正常。
demo地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值