可以先看这两个帖子跟着做一下相关配置,
http://www.jianshu.com/p/c979024dc62c
http://www.jianshu.com/p/9e3b4a133bcc 这个比较详细
配置感觉上面的帖子说的很详细不需要再进行补充,不过怎么发布包进行热更新还是费了点力气的,以下是我的总结:
1.终端输入code-push login登录,登录成功后创建APP,,命令为:
code-push app add 你自己想取的ios名称 ios react-native
code-push app add 你自己想取的安卓名称 android react-native
可以发布热更新版本,需要知道的一点是如果我们想对1.0.5版本做热更新操作,那我们新的版本的号码也要是1.0.5,如果没有特殊情况,下面的命令可以满足热更新的操作
2.iOS举例:
corpapp-ios 1.0.5为例:(包括了图片的热更新,不加图片热更新是不忍直视的在此不举例需要的找我要)
react-native bundle --platform ios --entry-file index.ios.js --bundle-output ./boundlesIos/main.jsbundle --assets-dest ./boundlesIos --dev false //将相关文件打包到我创建的一个文件夹boundlesIos dev false即为正式环境
code-push release corpapp-ios ./boundlesIos 1.0.5 --deploymentName Production --description “带图片热更新ios立即更新” --mandatory true //这里的"corpapp-ios"是我自己取的Ios名称,将打好的文件上传到热更新服务器 mandatory true即为下载完后立即生效 不建议用这个因为没登录的话因为立即生效会弹出两次登录框 而且用户莫名其妙的页面更新很奇怪
code-push release corpapp-ios ./boundlesIos 1.0.5 --deploymentName Production --description “1.0.5热更新” --mandatory false //这里的"corpapp-ios"是我自己取的Ios名称,将打好的文件上传到热更新服务器 mandatory false即为下次启动应用的时候生效,建议用这个,神不知鬼不觉的就更新了很人性化
3.安卓热更新举例:(这是RN比较旧的版本时候的命令,现在把index.android.js改为index.js即可,按照自己的RN版本来写)
corpapp-android 1.0.5为例:(包括了图片的热更新)
react-native bundle --platform android --entry-file index.android.js --bundle-output ./bundlesAndroid/index.android.bundle --assets-dest ./bundlesAndroid --dev false
code-push release corpapp-android ./bundlesAndroid/ 1.0.5 --deploymentName Production --description “带图片热更新android1.0.5立即更新” --mandatory true
//这里的"corpapp-android"是我自己取的安卓名称,
code-push release corpapp-android ./bundlesAndroid/ 1.0.5 --deploymentName Production --description “android1.0.5立即更新2” --mandatory true
code-push release corpapp-android ./bundlesAndroid/ 1.0.5 --deploymentName Production --description “1.0.5安卓热更新” --mandatory false
code-push deployment history corpapp-android Production
code-push deployment history corpapp-ios Production //查看corpapp-ios的历史热更新历史版本以及下载使用情况