RN学习(二)——集成CodePush

    上一篇我整理的是安装RN环境以及创建第一个RN项目,也是我初识RN的第一步,为了看类似热更新的效果,我先开始集成的CodePush。

    网上文章都还挺多的,但是我第一次集成的时候就有问题,这次写的时候又鼓捣了半天。。。写的不对的地方,请大家多多指点~~

安装CodePush到本地===在根目录下操作

1. 安装CodePush
npm install -g code-push-cli
复制代码

测试CodePush是否安装成功,可用如下图所示来测。若本地安装,则会显示对应版本号。

2.注册CodePush
code-push register
复制代码

3.登录CodePush,浏览器会出现token

4.将token 复制粘贴过来。

判断是否登录成功,可如下所示来测。也可用code-push whoami来查看登录的账号。

5. CodePush添加app。
code-push app add RNTest ios react-native
复制代码

RNTest:项目的名称,ios:如果是安卓用android。成功后,如下图所示。

好了,codePush安装完了,而且项目也创建了。这个跟咱们平时用的极光、友盟等第三方账号一样。添加完后,可在appcenter里面看到。

项目里集成CodePush===在项目目录下操作

1. 进入RN项目,添加CodePush。
npm install react-native-code-push --save
复制代码

安装成功后,可在项目如下图路径里找到对应文件。

2. 进入ios文件夹,创建Podfile

将Podfile里面的这个target删掉,否则工程跑不起来。

3. 往Podfile里面添加依赖库react-native-code-push。
react-native link react-native-code-push
复制代码

Podfile如下所示,多一个CodePush

4. 进入ios工程里面,pod install。
cd ios
pod install
复制代码
5.现在run后,Xcode报错以及解决。

将下图Library处删掉。这是RN创建项目的时候,没有pod自己添加进来的

然后手动将下面的添加到Podfile文件中。

# Your 'node_modules' directory is probably in the root of your project,
  # but if not, adjust the `:path` accordingly
  pod 'React', :path => '../node_modules/react-native', :subspecs => [
    'Core',
    'CxxBridge', # Include this for RN >= 0.47
    'DevSupport', # Include this to enable In-App Devmenu if RN >= 0.43
    'RCTText',
    'RCTNetwork',
    'RCTWebSocket', # Needed for debugging
    'RCTAnimation', # Needed for FlatList and animations running on native UI thread
    # Add any other subspecs you want to use in your project
  ]
  # Explicitly include Yoga if you are using RN >= 0.42.0
  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

  # Third party deps podspec link
  pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
  pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
复制代码

现在运行,又报了下方的错误。

莫慌,解决办法如下:

  1. 删除图下两个文件package-lock.json和node_modules,然后npm install

  1. 删除Podfile.lock和Pods,然后pod install

  1. 现在可以了。

吐槽

    这篇我确实想小吐槽一下,可能是第一次装的时候,太不熟悉了,完全一脸慒,还遇到了各种奇葩的问题。各种查资料,询问各位RN大神。现在感觉,好像遇到的那些奇葩的问题(当时网上找了好多,试了不好使的)都可以用下面这些来解决,虽然简单粗暴,但是挺好使。

  1. 如果本地服务已经起来,如下图所示,那就先结束。或者npm start前先这样:killall -9 node。

  1. 删除package-lock.json,删除node_modules,然后npm install
  2. 如果不好使,且有Pod的话,删除Podfile.lock和Pods,然后pod install

    OK,这篇就先到这里了~目前我是按我学习的顺序来整理的。下篇整理集成CodePush后APP的展示效果,主要包括Xcode配置、打包上传和app的最终呈现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值