一、安装
打开终端 ☞ 首先查看Ruby的镜像
gem source -l
如果是第一次安装,执行
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l
然后执行
sudo gem install cocoapods
pod setup
很多人死在了这步,等的时间太长,而且没有提示,看不到进度
打开新窗口
可以看到下载的进度,来看看下载完的样子
二、使用
打开终端
找到安装cocoapods的工程
cd /Users/YourName/Desktop/TestCocoaPods
创建Podfile文件,进入vim编辑
vim Podfile
如下格式
然后执行(确保在当前工程目录中)
pod install
结果如下:
来看看目录结构
三、Cocoapods删除已安装的第三方库
首先在Podfile中删除配置好的类库,然后执行pod update 即可
修正时间:2017年12月25日:执行 pod install 。
四、第三方开源类库版本号的各种写法与含义
pod ‘AFNetworking’ //不显式指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本
pod ‘AFNetworking’, ‘>2.0’ //使用高于2.0的版本
pod ‘AFNetworking’, ‘>=2.0’ //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘<2.0’ //使用小于2.0的版本
pod ‘AFNetworking’, ‘<=2.0’ //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~>0.1.2’ //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
pod ‘AFNetworking’, ‘~>0.1’ //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0’ //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
更新日期:2017年7月6日
在Mac OSX 10.11+的系统下 下载cocoaPods 需要在终端输入如下:
sudo gem install -n /usr/local/bin cocoapods
pod setup
更新日期:2017年12月6日
使用cocoapods时报错:ERROR: While executing gem … (TypeError)
no implicit conversion of nil into String
首先将淘宝的源删除,更换源为 https://gems.ruby-china.org/
执行 sudo gem update –system
其余步骤如上。
使用cocoapods成功下载第三方后,无法找到头文件的解决办法。
更新时间:2017年12月10号
执行pod setup 更新到一定进度时报错:
Setting up CocoaPods master repo
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into ‘master’…
error: RPC failed; curl 56 SSLRead() return error -9806
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
解决办法如下:
$ cd ~/.cocoapods/
$ sudo -rm -rf ~/.cocoapods/
更新时间2017年12月19日
多人合作开发时,上传的代码的时候 ,cocoapods相关的文件,不需要上传Pods文件夹,其他人下载执行pod install 命令自行下载即可
pod install命令是寻找Podfile.lock里面的内容。pod update命令是寻找Podfile里面的内容(有可能导致第三方升级,与其他人的版本不一致),所以多人开发时,除非必要的全部升级,执行pod install即可。
更新时间2017年12月20日
最近再给一个老项目安装cocoaPods时遇到了以下的问题:
执行pod install命令后 命令行出现如下错误
解决办法:
在Build Settings 里面找到 Other Linker Flags 添加 $(inherited)
然后执行pod update
运行项目 发现报错 ld: framework not found Pod_ProjectName
解决办法:
在General -> Linked Frameworks and Libraries 中 删除这个库即可。