美文网首页
RN热更新MAC端实现

RN热更新MAC端实现

作者: 三三哥 | 来源:发表于2019-01-08 15:19 被阅读0次

    前提是npm,react-native等环境已经安装好!!!

    1.创建React-Native项目

    react-native init lshApp(自己取,不要这个一样,因为已经被用过了)

    2. 安装 code-push-cli

    npm install -g code-push-cli

    3.注册code-push 账号

    code-push register 

    自动弹出一个浏览器,可以使用github 账号进行注册,成功之后拿到token

    Enter your token from the browser: *********

    4. 把自己的app添加到code-push

    code-push app add  lshApp-ios ios react-native(友情提示不要开代理,公司网线就可以)

    Successfully added the "lshApp-ios" app, along with the following default deployments:

    ┌────────────┬──────────────────────────────────────────────────────────────────┐

    │ Name      │ Deployment Key                                                  │

    ├────────────┼──────────────────────────────────────────────────────────────────┤

    │ Production │ UfIyRgZDBdUcV0sJD1gHC5e__HBe33654068-8807-4f4a-b8d9-e37a81d3017f │

    ├────────────┼──────────────────────────────────────────────────────────────────┤

    │ Staging    │ BQlZi_rKmiY2kYVdqy_jdWA8vHAR33654068-8807-4f4a-b8d9-e37a81d3017f │

    └────────────┴──────────────────────────────────────────────────────────────────┘

    code-push app add  lshApp-android android react-native (安卓)

    ➜  RN_Update code-push app add lshApp-android android react-native

    Successfully added the "lshApp-android" app, along with the following default deployments:

    ┌────────────┬──────────────────────────────────────────────────────────────────┐

    │ Name      │ Deployment Key                                                  │

    ├────────────┼──────────────────────────────────────────────────────────────────┤

    │ Production │ ej3yTpfDUeUeOYpYi4OKukk7s0kx33654068-8807-4f4a-b8d9-e37a81d3017f │

    ├────────────┼──────────────────────────────────────────────────────────────────┤

    │ Staging    │ ebNHjs6SfRd4pUttaMPvoK7OQqjr33654068-8807-4f4a-b8d9-e37a81d3017f │

    5.在项目根目录添加 react-native-code-push

    npm install react-native-code-push --save

    #或者

    yarn add react-native-code-push

    6. react-native link

    添加安卓的staging key ebNHjs6SfRd4pUttaMPvoK7OQqjr33654068-8807-4f4a-b8d9-e37a81d3017f

    依次添加iOS staging key BQlZi_rKmiY2kYVdqy_jdWA8vHAR33654068-8807-4f4a-b8d9-e37a81d3017f 

    7.在 react-native App.js 添加如下代码

    export default class App extends Component<Props> {

      componentDidMount(){

        codePush.sync({

          updateDialog: true,

          installMode: codePush.InstallMode.IMMEDIATE,

          mandatoryInstallMode:codePush.InstallMode.IMMEDIATE,

          //deploymentKey为刚才生成的,打包哪个平台的App就使用哪个Key,这里用IOS的打包测试

          deploymentKey: 'BQlZi_rKmiY2kYVdqy_jdWA8vHAR33654068-8807-4f4a-b8d9-e37a81d3017f',

          });

      }

    8. 运行模拟器 react-native run-ios (不成功,关掉本地RN自动打开的终端,删除模拟器上的项目,关掉模拟器,多试几次,开代理)

    9.发布一个新版本

      code-push release-react lshApp-ios iOS

    10. 重新刷新应用

    11.安卓发布修改下 deploymentKey: 'BQlZi_rKmiY2kYVdqy_jdWA8vHAR33654068-8807-4f4a-b8d9-e37a81d3017f',

    然后按照8-11再来一遍

    参考此文章,https://blog.csdn.net/dounine/article/details/78529106 并且填一些自己遇到的坑!

    相关文章

      网友评论

          本文标题:RN热更新MAC端实现

          本文链接:https://www.haomeiwen.com/subject/kwtbrqtx.html