使用pod引入ReactNative

首先,上自己创建的公有pod库:
pod 'pod4ReactNative','~>0.55.4'
包的是RN 0.55.4版本的,iOS可以直接引用该pod库做开发,不再需要使用npm引入RN。

git库:https://github.com/zramals/pod4ReactNative

一、什么情况下使用pod库引入RN

我们知道,官方的RN接入,虽然也是通过pod引入,但是他实际是通过npm下载,pod读取本地spec的方式加载RN库,走的是一种development的环境。

这种方式比较好的使安卓和iOS共用一个版本的RN,他们虽然引用方式不同,但是都读取同一份npm下载的RN,所以基于这种安卓和iOS共同开发的情况,官方的方式可以说非常合适。

但是如果我们与安卓不共同开发,并且技术力量有限,能少一个npm环境就少一个npm环境的情况下(要知道,很多公司放弃RN的主要原因是因为技术力量不足,精通js与原生开发的人实在有限),单一pod引入就显得有必要了。

二、该方式有什么缺点

该方式之所以官方没有给出,我认为有如下原因:

  • 需要管理安卓和iOS两套库
  • iOS部分pod lint有问题

基于此,省去官方解决两个大问题,总之,我就提供一个npm版本,怎么引入看开发者,另外pod lint不过,我也可以不解决了,一举两得!(其实官方一开始也是想包成pod库的,现在pod search react 还可以看到已经废弃的最高0.13.0-rc版本的RN)

那么,这两大原因,也就是该方式的缺点了:

  • pod仅仅维护了iOS一套版本,安卓部分需要安卓自行解决,想要同版本使用RN将花费非常大的精力。而相当多的情况,是安卓和iOS跨平台共同开发才使用RN,这样将反其道而行。
  • pod lint不过,也就是正常的方式是不能成pod库的,而市面上的RN pod库无一例外,均采用跳过lint的方式打成正式版本,自然lint不过也就代表着可能会有一些risk。

三、pod4ReactNative

https://github.com/zramals/pod4ReactNative
1. 首先,我将RN 0.55.4版本从官网上下载下来,放到rn-source里面,这样以后要是更新版本,我直接改变rn-source里面的文件即可。
2. 之后我需要创建一份spec,镜像copy官方的spec写法。
3. 然后,修改源文件的引用路径等,然后本地调试,build通过即可(说得简单,做起来那叫一个坑。。。)。
4. 修改cocoapods的ruby代码,修改lint部分,使push得时候可以跳过lint。
5. 最后生成正式库
6. 过个demo试验一下,效果完美。

大功告成!(其中心酸几人知~)

四、总结

pod4ReactNative使用还是需要根据情况,在需要使用的情况下去使用。

如果仅iOS想使用RN,并且对npm环境很迷,只想简单粗暴的使用RN,那么pod4ReactNative将是你的不二选择。

PS:pod4ReactNative已经将如下十分必要的的subspec加入到默认里面去了,所以不再需要显式的指定,
‘yoga’,
‘Core’,
‘CxxBridge’,
‘DevSupport’,
‘RCTWebSocket’,
‘RCTText’,
‘RCTAnimation’,
‘RCTImage’
通常pod 'pod4ReactNative','~>0.55.4'即可

引用:

https://www.jianshu.com/p/88180b4d2ab7
https://github.com/wuqiuhao/AwsomeReactNative
https://github.com/CodingForMoney/react-native

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值