Cocoapods 的安装和使用以及问题解决(超详细)

一、 CocoaPods简介

大家在开发iOS应用时,会经常使用第三方类库,比如SDWebImage、AFNetworking等等,手动的下载与添加类库非常麻烦,通过CocoaPods可以便捷的下载与管理第三方类库。使用CocoaPods的目的是让我们能自动化的、集中的、直观的管理第三方开源库。
简单来说:CocoaPods是一个用来帮助我们管理第三方依赖库的工具。
官方链接:https://cocoapods.org

二、CocoaPods安装

CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环 境,OS X系统默认支持Ruby运行,但是Ruby的默认源使用的是rubygems.org,国内访问这个网址时,如果无法FQ,则不能下载,解决方案是将其替 换成可用的Ruby,比如淘宝,替换方式如下:

1、查看自己电脑的Ruby环境 --- 终端命令:【gem sources 】

如果显示当前镜像是 https://ruby.taobao.org/ 则直接安装CocoaPods。
如果显示当前镜像是https://rubygems.org/ 则需要将当前的镜像移除,终端命令:
【gem sources --remove https://rubygems.org/ 】,移除成功后终端显示 https://rubygems.org/ removed from sources。紧接着需要下载taobao的镜像,终端命令:【gem sources -a https://ruby.taobao.org/ 】。

2、安装CocoaPods

2.1、终端命令:【sudo gem install cocoapods】,需要输入当前用户开机密码,输入时不会显示密码也不会显示*号,输入完成回车就可以了;如果显示try again那说明密码输入错误,需要重新输入密码。输入完密码之后等待。


6816CED8-FC74-455C-B07C-468788016FF5.png

2.2、设置 --- 终端命令:【pod setup】速度很慢,需要等待,如果出现warning,需要重新执行这一步骤。设置结束时终端会显示绿色的Setup completed。如果想要查看CocoaPods的设置进度,需要重新开一个终端窗口,进入CocoaPods:终端命令:【cd ~/.cocoapods】,查看进度:终端命令:【du -sh *】。

这里如果进度太慢的话,需要下载第三方的 Master放入到cocoaPads中,如果指令如下:
cd ~/.cocoapods
open .
打开以后再repos中把下载好的 Master放入进去.

sudo gem install cocoapods (如果不成功,可以试下这个)
sudo gem install -n /usr/local/bin cocoapods (苹果新系统更新后就用这个)


安装时遇到的常见问题: http://www.th7.cn/Program/Ruby/201606/889022.shtml

cocoapods报错, 报错, 报错…

OK,下面步入正题 在安装CocoaPods之前,首先要在本地安装好Ruby环境。
MAC系统自带ruby环境但是某些老旧机型可能ruby版本过低会报错,不过更新一下就好,而安装ruby需要RVM
步骤0 - 准备工作
首先需要切换到淘宝镜像服务器不然下面各个步奏会异常的卡顿(如果你曾经切换过可以查询出来)
查看CocoaPods版本:
pod --version

移除现有Ruby默认源:
gem sources --remove https://rubygems.org/

使用新的源
gem sources -a https://ruby.taobao.org/

验证新源是否替换成功:
gem sources -l
输出*** CURRENT SOURCES ***https://ruby.taobao.org/

OK准备工作结束.
步骤1 - 安装 RVM
RVM 是干什么的这里就不解释了(我也不知道什么玩意儿),使用官方推荐的方法安装:
curl -L https://get.rvm.io | bash -s stable

会出现,慢慢等吧


期间可能会问你sudo管理员密码,以及自动通过homebrew安装依赖包,等待一段时间后就可以成功安装好 RVM。 然后,载入 RVM 环境(新开 Termal 就不用这么做了,会自动重新载入的)

source ~/.rvm/scripts/rvm

检查一下是否安装正确

rvm -v

会输出:

rvm 1.27.0 (latest) by Wayne E. Seguin wayneeseguin@gmail.com, Michal Papis mpapis@gmail.com [https://rvm.io/]

步骤2 - 用 RVM 安装 Ruby 环境

rvm install 2.0.0

这个网址有现有的Ruby版本信息:
https://bugs.ruby-lang.org/projects/ruby/wiki/ReleaseEngineering看自己喜好安装那个版本

同样继续等待漫长的下载,编译过程,完成以后,Ruby, Ruby Gems 就安装好了。


步骤3 - 设置 Ruby 版本
RVM 装好以后,需要执行下面的命令将指定版本的 Ruby 设置为系统默认版本

rvm 2.0.0 --default

同样,也可以用其他版本号,前提是你有用 rvm install 安装过那个版本 这个时候你可以测试是否正确

ruby -v    输出 : ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0]

步骤4 - 安装cocoa pods
第四步才是正题

sudo gem install cocoa pods

就安装完了. 这时你可以
pod search AFNetworking

来检测一下 如果:


就说明成功了.


三、使用CocoaPods

3.1、创建工程,然后关闭工程,终端进入工程:终端命令:【cd 工程路径(直接拖文件夹到终端)】 [ ls -l ] 查看目录

3.2、先找到要使用的三方库:终端命令:【pod search 第三方库名称】

3.3、会显示列表页面,选择三方库最新版本的命令,复制备用,例如复制:【pod 'MBProgressHUD', '~> 0.9.2'】然后输入wq退出 (wq是保存并退出,可以直接输出Q,退出的意思)

3.4、编辑工程的Podfile文件:终端命令:【vim Podfile】进入Vi编辑 [touch podfile] 关联Xcode和终端,创建文件

3.5、按 i 键使Vi编辑处于编辑状态,然后
输入:

【platform :ios, '8.0'
target "targetName" do
pod 'AFNetworking', '~> 3.1.0'
end】

(将targetName替换成工程名,pod 'MBProgressHUD', '~> 0.9.2' 替换成3.3步复制出来的命令,所有符号都是英文状态下的)
此时不需要回车,直接按Esc键,结束编辑状态,按 : 然后输入wq回车,保存修改并退出

3.6、保存Podfile的设置,然后进行更新下载三方库:终端命令:【pod update】,如果此时报错,需要检查你上一步输入是否有误 我们也可以直接用【pod install】

3.7、如果以后还想要添加新的第三方到CocoaPods中,只需要终 端进入工程:终端命令:【cd + 工程路径(直接拖文件夹到终端)】,然后重复3.2~3.6步即可,但是重复3.5步时需要注意不要删除以前的语句,只需要在后面添加新的三方库版本信息 即可,例如:【pod 'AFNetworking', '~> 3.1.0'】

3.8、如果想删除某个已经导入好的第三方库,不能直接在Xcode工程中直接操作,我们需要在终端中操作,输入: Vim Podfile 进入编辑模式输入i,在想要删除的第三方库中前面加入#号,按Esc ,结束编辑状态,输入:wq保存退出,然后 更新 pod update

屏幕快照 2016-06-27 上午11.56.07.png

四、在工程中使用CocoaPods

设置好CocoaPods的工程文件夹中有这些文件


F187C719-F915-41F6-B082-A24742D67013.png

普通工程打开的是.xcodeproj文件,而设置了CocoaPods的工程要打开.xcworkspace文件,否则会报错。
打开工程后,所有第三方类库都由CocoaPods管理,在Pods文件夹下

B46AF70B-1646-442D-AF3E-8A9B15B77A4C.png

推荐阅读更多精彩内容