常用命令
终端切换到RN项目根目录下
-
打包main.jsbundle
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ./bundle/main.jsbundle --assets-dest ./ios/bundle
-
发布rn的bundle到微软服务器
code-push release-react YourProjectName ios
既code-push release-react <AppName> <PlatName>
或code-push release-react YourProjectName ios --t 4.0.0 --dev false --d Staging --des "xxxxx"
-
将测试版本Staging提升为Production
code-push promote YourProjectName Staging Production
-
查看发布的历史记录
code-push deployment history YourProjectName Staging
code-push deployment history YourProjectName Production
-
查看当前code-push账号下面的app
code-push app ls(或list)
-
命令来查看deployment key
code-push deployment ls <APP_NAME> -k
-
部署到自己(公司)的服务器
code-push login 自己的域名
参考资料:
1,简洁直接的code-push使用教程(快速上手建议看这个):https://www.jianshu.com/p/67de8aa052af
2,深入分析的教程:https://www.jianshu.com/p/9e3b4a133bcc
3,官方文档(对照上面的博客看):http://microsoft.github.io/code-push/docs/react-native.html
常见问题
坑1(iOS):
使用他们的方法打包资源并上传的时候,通过更新,app无法加载出资源文件!
- 解决:
就是把你的结果(main.jsbundle和assets)拖入工程时,对于assets文件夹,你要选择create folder reference,而不是 create folder group. 正确的结果是assets文件夹是一个蓝色的文件夹,整个一起作为bundle resources
坑2(双端):
APP内plist文件写的版本号可能是1.0.0,所以你的reactjs打包上传的版本也要是1.0.0(而不是1.0.1这样递增),你需要和APP保持一致,然后服务器会根据你最新上传的且和APP一样的版本作为最新版。否则热更无效。
参考:https://www.cnblogs.com/rayshen/p/5502538.html
网友评论