前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >react-native热更新

react-native热更新

作者头像
用户9298250
发布2021-12-29 12:21:18
8830
发布2021-12-29 12:21:18
举报

前言

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

接入与安装

首先进行安装

代码语言:javascript
复制
  npm || yarn 
  react-native link react-native-code-push
  接入时选择跟自己的react-native匹配的react-native-code-push进行接入。

react-native-code-push接入

代码语言:javascript
复制
全局安装cli
npm || yarn  install -g code-push-cli
注册账号
code-push register
登录
code-push login

android接入

代码语言:javascript
复制
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创建目录打包所需文件,

代码语言:javascript
复制
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, 加入

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

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

代码语言:javascript
复制
react-native bundle --platform ios --entry-file index.ios.js --bundle-output ./bundles/main.jsbundle --assets-dest ./bundles --dev false

最后上传

代码语言:javascript
复制
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地址

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/12/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 接入与安装
  • react-native-code-push接入
  • android接入
  • 最后上传
  • 注意
  • 补充
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档