RN 导入原有Xcode项目中,引入Pod依赖出现的问题与解决
2017-04-01 本文已影响557人
xiaoyouPrince
前言
最近学习React Native技术。将RN引入到原来Xcode项目中有一步:给原来Xcode项目添加所需要的Pod依赖
写好Podfile之后,运行pod install
报无法满足的 错误,如下。
[!] Unable to satisfy the following requirements:
如图:
从提示中可以得出:所满足的依赖已经找到,但是他们要求一个更高级别的部署环境。
最初以为是 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
【下面再写要导入的一些依赖库】