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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容