react-native利用codepush实现热更新
来源:互联网 发布:怎么联系手机淘宝客服 编辑:程序博客网 时间:2024/06/09 13:25
不扯没用的,现在步入正题说说热更新那些事!
一.创建一个简单的项目
由于是做iOS开发的安卓不太了解,安卓的小伙伴们不好意思就拿iOS开刀说了.首先配置reactNative开发所需的各种环境,这里就不再说了,请去reactNative中文网查看.首先我们使用命令
react-native init codePushDemo --version 0.44.3
初始化一个项目,项目名字codePushDemo,我相信这一步大家都没有问题,可以运行试试
二.集成code-push
(1)在codepush上注册登录并创建项目
1.安装Code-push cli(mac上的环境)
npm install -g code-push-cli
2.注册CodePush账户(如果之前注册过可以跳过直接登录)
code-push register
这里会跳进浏览器,可以使用github或者Microsoft帐户注册,注册成功后将会生成相应的access token,按照提示在终端输入刚生成的access token即可(会自动登录)
3.添加CodePush应用
code-push app add XXX ios react-native //XXXapp名字
添加成功截图如下
(2)集成code-push到reactNative中
在根目录执行
$ npm install --save react-native-code-push
在node_modules中如果出现
恭喜你安装react-native-code-push成功了
(3)集成code-push到iOS工程文件中
一般有三种方法:RNPM、CocoaPods 、"Manual"详细可参考CodePush的Github:https://github.com/Microsoft/react-native-code-push
我着用的是RNPM,如果你项目使用CocoaPods集成的,那推荐使用cocoaPods:
1.安装rnpm
$ npm i -g rnpm
2.查看下之前在code-push创建的app,下面会用到
$ code-push deployment ls <appName> -k
查看结果如
3.将code-push集成到xcode
$ react-native link react-native-code-push
这里需要输入Deployment Key (上面查看的那个),填写Staging对应的Key就行,这个是测试环境的,安卓的我暂时回车忽略了, 以后可以填
此时在我们的xcode的info.plist中会多出一条
接下来我们来看看codepush给我们提供的demo(这个必须看啊).
现在我们直接把里面的内容复制到index.ios.js里面,注意需要改写东西
class codePushDemo extends Component //这个类名字改成项目名(自己喜好)
//这里面都需要改成项目名字(当然也可以按照你自己的习惯)codePushDemo = CodePush(codePushOptions)(codePushDemo);AppRegistry.registerComponent("codePushDemo", () => codePushDemo);
注意到这里需要一张图片
<Image style={styles.image} resizeMode={Image.resizeMode.contain} source={require("./images/laptop_phone_howitworks.png")}/>
可以找一张自己喜欢的替换掉(要将图片放进xcode)
现在你可以去运行你的项目了,我的运行结果如图
此时你去运行iOS项目,你可能遇到这个错误(如果没有遇到最好了)
../node_modules/react-native/packager/react-native-xcode.sh: No such file or directory
我是重新安装的node_modules解决的,文件缺失,由于也是刚接触不久,也不知道原因,
三.打离线包
使用下面的命令打包
$ react-native bundle --entry-file index.ios.js --bundle-output ./ios/bundle/main.jsbundle --platform ios --assets-dest ./ios/bundle/assets --dev false
处理后我的目录
四.发布更新
现在让我们来改些东西,发布上去看看是否有所改变
执行发布更新命令
code-push release codePushDemo ./ios/bundle/main.jsbundle 1.0.0 --deploymentName Staging --description "1.修改了文字" --mandatory true
看看终端结果
让我们再次启动app,点击Press for dialog-driven sync,
哇,变了,
好的,我们看一下我们code-push
$ code-push deployment ls codePushDemo -k
可以看到已经有一个人更新了
你还可是尝试各种更新操作,以后有时间会补充进来.
作者:小码儿
链接:http://www.jianshu.com/p/d3e7c58b6a4f
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
- react-native利用codepush实现热更新
- React Native用CodePush实现热更新
- React-Native 热更新 CodePush
- CodePush 热更新React-Native(ios)
- react-native热更新之codepush使用
- React-Native热更新部署/热更新CodePush集成详解
- 利用CodePush对react-native项目热更新(以android为例)
- react native codepush热更新解决成功更新
- React Native带你一步步实现热更新(CodePush-Android)
- CodePush 热更新ReactNative之React Native Client SDK
- React Native应用部署/热更新-CodePush最新集成总结
- React Native 热更新实现
- app实现热更新codepush
- React Native应用部署/热更新-CodePush最新集成总结(新)
- React Native应用部署/热更新-CodePush最新集成总结(新)
- React Native应用部署/热更新-CodePush最新集成总结(新)
- 零客户端开发经验 React Native 热更新 CodePush 打包集成指北
- React Native应用部署/热更新-CodePush最新集成总结(新)
- stm32 spi从模式配置解答
- 测试小故事42:假数据
- Android第一天
- Palindrome Number
- myeclipse2015 mac 序列号生成网址
- react-native利用codepush实现热更新
- 关于数据仓库的主题
- Rxjava从源码分析代码
- MySQL 事务隔离级别、数据不一致表现、加锁协议三者的关系
- OSI七层模型详解(物理层、数据链路层、网络层、传输层.....应用层协议与硬件)
- HDU
- Unity_寻路系统中动态障碍物_061
- Struts2上传图片实例
- python函数定义