iOS开发 之CocoaPods的使用


二、常见的报错信息

1.pod install失败
ErrorMessage -
unable to satisfy  the following requirements
- `AFNetworking (~> 3.1.0)` required by `Podfile`
- `AFNetworking (= 3.1.0)` required by `Podfile.lock`
None of your spec sources contain a spec satisfying the dependencies:`AFNetworking (~> 3.1.0),AFnetworking (=3.1.0)`.
You have either:
* out-of-date source repos which you can update with `pod repo update`.
*mistyped the name or version.
*not added the source repo that hosts the Podspec to your Podfile
Note : as of CocoaPods 1.0,`pod repo update` does not happen on `pod install` by default
无法满足以下要求
-“Podfile”要求的“AFNetworking(~> 3.1.0)”
-“Podfile.lock”要求的“AFNetworking(= 3.1.0)”
没有规范的来源包含一个规范满足依赖关系:“AFNetworking (~ > 3.1.0), AFNetworking (= 3.1.0)”。(你spec资源中不包含AFNetworking的3.1.0的配置信息。这里面有个关键词,spec资源和配置信息。)
你有:
*过期的源代码回购,您可以更新与' pod回购更新'。
*输入错误名称或版本。
*没有将宿主Podspec的源repo添加到您的Podfile中
注意:CocoaPods 1.0, pod回购更新的不发生在舱安装在默认情况下(默认情况下,执行pod install不会自动执行pod repo update命令)
报错原因 - 几个人共同维护一个项目,Podfile也共同维护了一份,一天其中一个伙伴升级了三方库版本,然后我们就更新最新的Podfile,然后pod install一下
解决方法 - 
命令 pod repo update (该命令用来更新本地cocoapods的spec资源配置信息)
安装完cocoapods后,在我们的根目录下有个隐藏文件夹,/Users//.cocoapods,里面是cocoapods收录的所有库的配置信息,/Users//.cocoapods/repos/master/Specs/。比如AFNetworking就是/Users//.cocoapods/repos/master/Specs/AFNetworking,内部分版本包含多个文件夹,每个文件夹内包含一个配置文件,比如AFNetworking.podspec.json,上面报错的原因就是,Podfile中AFNetworking的版本更新到了3.1.0,但是本地.cocoapods下找不到相应的配置文件。
然后按照提示,执行pod repo update,碰到网速慢的时候,命令执行完了就不动了,又被迫摆出葛优躺等着。
重点来了,pod repo update实际是更新整个.cocoapods下的所有库,其实我们可以只更新其中某个库来达到快速可用的目的。下面提供两个方法解决:
(1)正规方法:
指定更新单独库pod repo update /Users//.cocoapods/repos/master/Specs/
(2)野路子:
如果方法1仍然无法解决问题,而又着急使用。可以直接到相应目录下手动增加缺少的版本目录和spec文件,/Users//.cocoapods/repos/master/Specs//3.2.0/.spec。spec文件参考git上相应库的版本。

你可能感兴趣的:(iOS开发 之CocoaPods的使用)