Skip to content

react-native 自建热更新版本升级工具 demo ios

Notifications You must be signed in to change notification settings

rayshen/MXHotdog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7f6ea4a · Dec 30, 2016

History

7 Commits
Aug 5, 2016
Aug 5, 2016
Aug 5, 2016
Aug 5, 2016
Aug 5, 2016
Aug 5, 2016
Dec 30, 2016
Aug 5, 2016
Aug 5, 2016
Aug 5, 2016

Repository files navigation

MXHotdog

react-native 自己搭建版本升级的demo ios

运行iOS工程可以看到效果。

初始为1.0.0版本,然后更新后升级到1.0.1版本。

打包方式:

1.在RN工程目录新建一个文件夹,比如叫bundle-ios

2.每次打包用下面的命令:

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

会把工程内的资源和JS都打包出来,放入bundle-ios文件夹,分别是assets文件夹和main.jsbundle文件

3.然后将assets和main.jsbundle压缩成zip文件,放到服务器,也就是我工程里需要下载的ZIP包的URL

由于工作较忙,这里只是提供一个实现的简单思路。距离实际完美的框架还太远。

主要流程是这样:

APP打开时,通过接口判断本地版本和远程版本差异,如果需要更新,可将远程的JS和assets文件压缩包下载到本地并解压,然后刷新APP即可完成更新。

几个可优化的点:

1.远程接口里包含版本更新的配置项,比如某版本(1)强制更新JSBundle(2)弹框可选更新(3)需要更新原生APP 这个版本的管理,需要一个后端服务器和数据库的支持。

2.将原生启动更新的函数桥接给RN,这样可以由RN触发更新操作。

3.更新的进度回调:下载bundle的时候,原生可以把进度传递给RN,然后RN来做界面。

欢迎交流,我的博客是:http://www.cnblogs.com/rayshen/

About

react-native 自建热更新版本升级工具 demo ios

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published