Cocoapods的一些坑

Cocoapods的坑还是很多的,那就遇坑填坑咯!^_^

1.遇到坑时先检查本机到底安装过多少个版本的cocoapods:

如果已有多个版本,建议卸载掉所有的旧版本,只保留最新的那个版本;如果最新的也略旧,那就都删干净装个最新的吧。。。

gem list 查看gem下所有的安装包

gem list –local | grep cocoapods 查看gem下所有cocoapods的安装包

sudo gem uninstall cocoapods 指定list中的序号选择性卸载

sudo gem clean 只保留已有版本中最新的版本

2.搜索不到某个第三方库的最新版本?what fu…c…k

可能是你的cocoapods的版本低或者你本地的依赖库tree较旧所致,可重装或setup一下,这里说下setup的使用原理:

在本地 Cocoapods 会保存一个 Pods 依赖库的 tree,这个 tree 和服务端的 tree 可能会不同步。因为大量第三方库的作者每天都在维护自己的库,会更新库的版本,执行setup可以让本地依赖库的 tree 与服务端同步。

3.报错:While executing gem … (Gem::FilePermissionError) You don’t have write permissions for the /Library/Ruby/Gems/2.0.0 directory…

这个错误往往出现在安装 Cocoapods 或者删除某个版本的 Cocoapods 的情况下,简单粗暴就是修改权限:

sudo chmod 777 /Library/Ruby/Gems/2.0.0

4.为什么 Pods 导入成功了但是无法引用头文件?

Cocoapods 把第三方库以多个 target 形式组成一个名为 Pods 的工程,编译为静态库,所以我们其实可以像引用系统框架一样来引入他们的头文件。

即:用import 尖括号的方式

如果一定要使用双引号的形式,那就设置目标项目 target 中的 User Header Search Paths,双击此选项,添加一个 ${SRCROOT}的键,值设定为recursive,这样就可以递归搜索全部目录。

5.报错:cocoapods was not able to update the ‘master’ repo.if it is a unexpected issue and persists you can inspect it running ‘pod repo update –verbose’

尝试解决:

尝试1、根据提示,跑一下 pod repo update –verbose

尝试2、如果还是出现原来问题,升级 gem update cocoapods(如果CocoaPods还不是最新版本)

尝试3、如果升级还是出现原来的问题,那么重装CocoaPods 。

尝试4、如果问题依旧,那么请清除缓存再pod setup
清除命令sudo
rm -fr ~/.cocoapods/repos/master
再pod
setup

如果问题解决了,那么得出的结论是简单来说就是0.32之后的CocoaPods
repo目录访问现在不需要root权限了,之前版本生成的目录权限在新版本下会有权限问题,所以需要删除重新生成一次。