RN 导入原有Xcode项目中,引入Pod依赖出现的问题与解决


RN 导入原有Xcode项目中,引入Pod依赖出现的问题与解决

前言

最近学习React Native技术。将RN引入到原来Xcode项目中有一步:给原来Xcode项目添加所需要的Pod依赖

写好Podfile之后,运行pod install报无法满足的 错误,如下。

[!] Unable to satisfy the following requirements:

如图:
Snip20170401_1.png

从提示中可以得出:所满足的依赖已经找到,但是他们要求一个更高级别的部署环境。

最初以为是 React 或 React Native版本的问题,遂打开Podfile检查,并重新 pod install.依然有很多问题,从网上找了一些类似的问题,但没有特别合适的。

后就开始了如下的种种操作:

  • 查看对应的版本
 NumberTileGame pod list | grep React

  AFNetworking-ReactiveCocoa 0.0.2
  ALReactiveCocoaExtension 4.1.1
    ···【省略N行】
  EPSReactiveCollectionViewController 1.0.1
  • 查看pod版本并升级至最新
➜  NumberTileGame gem --version
2.6.8
➜  NumberTileGame pod --version
1.2.1.beta.1
➜  NumberTileGame pod repo update
Updating spec repo `coding-cocoapods-specs`
  $ /usr/bin/git -C /Users/quxiaoyou/.cocoapods/repos/coding-cocoapods-specs
  fetch origin
^C[!] Cancelled 【此处卡死了,你懂的...】
➜  NumberTileGame pod repo update --verbose 【加上--verbose重新开始】

  • 重新运行添加Pod
➜  NumberTileGame pod update

Snip20170401_2.png
依旧报错,但是转机出现了,最后黄色的警告,提示项目的target版本比较低,所以去Podfile中重新修改target版本号。

  • 最后在修改完target版本为 ios 9之后终于导入依赖库成功了 Snip20170401_3.png

小结

  • Unable to satisfy the following requirements问题可能是Pod版本低的问题
  • 可能是需要导入的库的版本低的问题,查看需导入库版本命令$pod list | grep 【库名】
  • Pod的本地版本库有缓存,有时候安装总会缺少最新的内容。更新版本库命令:$pod repo update [--verbose]。国内更新pod依赖库你懂得,通常加--verbose设置对已有且没有新版本的仓库不做更新
  • Pod中删除本地缓存,从新update方法
$rm -fr ~/.cocoapods/repos/master
$pod setup
  • Podfile文件中前两行必须要写清楚运行到那个项目中的什么版本上面,如下
platform :ios, '9.0'
target 'NumberTileGame' do

【下面再写要导入的一些依赖库】
posted @ 2017-04-02 01:56  xiaoyouPrince  阅读(907)  评论(0编辑  收藏  举报