简介
· CocoaPods是一个负责管理iOS项目中第三方开源库的工具。
· 在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等
Cocoapods安装过程
首先把终端打开,然后在$后面输入
1.升级Ruby环境 gem update --system
输出结果:
如果没有权限去升级Ruby ?就输入 sudo gem update --system
这时候会让你输入密码,切记输入密码的时候,光标是不会动的,直接按回车显示的结果是这样的就妥了
2.换掉Ruby镜像
首先移除现有的Ruby镜像 gem sources --remove https://rubygems.org/
添加国内最新镜像源 gem source -a https://gems.ruby-china.org/
查看当前镜像 gem sources -l
显示的结果是这样的就妥了
3.安装CocoaPods
输入 sudo gem install cocoapods
如果出现这个了,指的是你没有权限
输入这个 sudo gem install -n /usr/local/bin cocoapods
如果显示这个表示安装成功
再执行这个 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 -36
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
淡定,出现问题,解决就是。输入如下命令:
cd ~/.cocoapods/repos
git clone https://github.com/CocoaPods/Specs.git master
随后这里需要等待好久,而且还会失败很多次。
Cloning into 'master'...
remote: Counting objects: 805011, done.
remote: Compressing objects: 100% (46/46), done.
Receiving objects: 96% (779053/805011), 311.26 MiB | 34.00 KiB/s
下载完毕后,会在上面的代码后面多一句在跑:
Resolving deltas: 37% (128437/346438)
完成后是这样的:
Cloning into 'master'...
remote: Counting objects: 805011, done.
remote: Compressing objects: 100% (46/46), done.
remote: Total 805011 (delta 18), reused 0 (delta 0), pack-reused 804963
Receiving objects: 100% (805011/805011), 317.05 MiB | 48.00 KiB/s, done.
Resolving deltas: 100% (346438/346438), done.
Checking connectivity... done.
Checking out files: 100% (105649/105649), done.
当出现Setup completed的时候说明已经完成了(中间有个下载的过程小有几百M要等会)
4.CocoaPods的使用
1.首先搜索一下第三方库 pod search AFNetworking
结果是这样的就妥了(输入q回到终端控制界面)
2.在工程中创建一个Podfile文件
要想在你的工程中创建Podfile文件,必须先要进到该工程目录下
cd 然后把自己项目文件夹直接拖拽到cd的后面
在输入 touch Podfile,你的工程目录下你就看到了一个Podfile文件
3.编辑你想导入的第三方库的名称及版本
用vim编辑Podfile文件 vim Podfile
然后输入i键 下面的"Podsfile" 0L, 0C将变成-- INSERT --
就可以编辑文字啦,输入以下文字
platform :ios, '8.0'
target 'demo' do
pod 'SDWImage'
end
这时候要退回去啦,跟着我做,先按esc键,再按shift键+:键,再输入wq,最后按回车键
4.把该库下载到Xcode中
pod install
这时候就开始下载了,需要一段时间,出现这个界面就好了
打开工程目录会看到多了一个后缀名为.xcworkspace文件就稳了
不能把Podfile.lock文件加入到.gitignore中。因为podfile.lock会锁定当前各依赖库的版本,之后即使多次执行pod install 也不会更改版本,只有执行pod update才会改变Podfile.lock。在多人协作的时候,这样可以防止第三方库升级时造成大家各自的第三方库版本不一致。
5.CocoaPods的各种坑
当在终端输入,pod search AFNetworking可能会出现这种情况
这是因为之前pod search的时候生成了缓存文件search_index.json
执行 rm ~/Library/Caches/CocoaPods/search_index.json
来删除该文件
然后再次输入pod search AFNetworking进行搜索
这时会提示Creating search index for spec repo 'master'..
等待一会将会出现搜索结果如下:
坑二
当运行pod 命令出现 command not found
解决办法 sudo gem install -n /usr/local/bin cocoapods
之后pod命令可以使用了
坑三
如果pod update / pod install 卡在:Updating local specs repositories
等待即可,或者可以使用 “pod install --verbose --no-repo-update” 进行下载,原因可能x被墙。
当后续需要更新或者插入新的三方库的时候
可以直接cd 到自己的文件夹下,通过 vim Podfile命令添加三方库
退出:先按esc键,再按shift键+:键,再输入wq,最后按回车键
执行 以下两个命令实现快速更新
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update