CocoaPods安装最详细教程

![Uploading 8FB0E81F-0248-4B0C-ABD0-32D057FD66AB_705924.png . . .]

前言:最近几天在安装cocoaPods的时候遇到了N多问题,首先是以前用的淘宝Ruby镜像已经不能用了,需要添加(https://gems.ruby-china.org)镜像才可以使用.以下是我总结的几种安装cocoaPods的最新教程.

第一种方式(这种方式是比较慢的,不推荐)

1 . 首先mac系统是已经默认安装好Ruby环境的(除非你自己删除)如果你不确定系统是否有Ruby, 可以在终端输入命令检查ruby版本.
$ ruby -v

图 1

2 . 查看当前服务器
$ gem sources -l

图 2

3 . 删除当前ruby服务器
$ gem sources --remove https://rubygems.org/

4 . 添加最新的ruby服务器,(注意淘宝的镜像已经不能用了,https://gems.ruby-china.org 是可以用的)
$gem sources -a https://gems.ruby-china.org/

5 . 添加成功之后再检查一下新源是否替换成功,如果只有这一个ruby源的话就说明替换成功了.如果多了其他的就执行第三部把那个多余的源删除就可以了.
gem sources -l

图 3

6 . 安装cocoapods
$sudo gem install cocoapods 备注: 苹果系统升级 OS X EL Capitan 后改为
$sudo gem install -n /usr/local/bin cocoapods
此后需要输入电脑密码, 过一段时间后返回以下字样信息
+ gems installed
就说明安装成功了.不过这一步的过程非常缓慢,没关系,小编给你带来第二种安装cocoapods的方式.

这一步过程比较缓慢,可以重新打开一个终端查看下载的进度.

cd ~/.cocoapods
然后每隔几分钟在终端输入du -sh *
如果你看到下载的进度在慢慢变大,说明cocoapods正在下载中,耐心等待就行了.大概到330M的时候就完成了.

第二种方式 git clone方式安装cocoapods(推荐)

1 . 在终端中,进入到该目录下
cd ~/.cocoapods/repos

2 . 若没有以上目录,执行下面指令,出现.cocoapods的目录后可以ctrl+c终止安装。sudo gem install cocoapods是常规的安装方法,不过现在只是用来建立一下.cocoapods目录。手动建立.cocoapods目录应该也是可以的,不过没试过。如果能进入~/.cocoapods/repos的目录就忽略下面一条指令。
sudo gem install cocoapods

3 . 克隆一个Specs库,在终端必须进入到~/.cocoapods/repos的目录才执行以下命令。
git clone https://github.com/CocoaPods/Specs

4 . 完成后,执行open .打开当前目录repos.
open .

5 . 然后把Specs目录改名为master即可。


图 4

如果gitclone还慢的话,直接上https://github.com/CocoaPods/Specs点击下载。根据上面的目录结构图,放对了就好。

图 5

****************分割线****************

安装中遇到的错误

1 . ERROR: Error installing cocoapods:
activesupport requires Ruby version >= 2.2.2.

这是因为系统自带的Ruby版本是2.0.0,提示需要Ruby的版本在2.2.2以上。因为cocoapods时通过Ruby服务器下载的,所以必须先更新Ruby,才能继续下载cocoapods

解决方法:请参考 http://blog.csdn.net/wangyanchang21/article/details/51885383 博主的解决方法非常详细
按博主提供方法解决错误后,查询Ruby版本:此时ruby服务器更新成功
$ ruby -v

图 6

2 .在pod search AFNetworking时报错
[!] Unable to find a pod with name, author, summary, or descriptionmatching AFNetworking

解决方法:输入
rm ~/Library/Caches/CocoaPods/search_index.json
后在一次输入:
pod search AFNetworking
就可以解决.
提示: 在搜索完成之后终端不会自动推送,需要按键盘Q手动退出搜索

3 .Setting up CocoaPods master repo
[!] /usr/bin/Git clone https://github.com/CocoaPods/Specs.git master
Cloning into ‘master’…error: RPC failed; result=56, HTTP code = 200fatal: The remote end hung up unexpectedlyfatal: early EOFfatal: index-pack failed

**解决方案: **首先通过终端cd到~/.cocoapods/repos下,在此目录下,输入终端命令:
git clone ‘https://github.com/CocoaPods/Specs.git’ master
剩下的就是漫长的等待,文件比较大,可能花费些时间,结果如下所示:

Cloning into ‘master’…
remote: Counting objects: 760233, done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 760233 (delta 12), reused 0 (delta 0), pack-reused 760197
Receiving objects: 100% (760233/760233), 350.74 MiB | 44.00 KiB/s, done.
Resolving deltas: 100% (324910/324910), done.
Checking connectivity… done.
Checking out files: 100% (98969/98969), done.

完成后就可继续安装,即使用:
pod setup

4 [!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git masterCloning into 'master'...error: RPC failed; curl 56 SSLRead() return error -36fatal: The remote end hung up unexpectedlyfatal: early EOFfatal: index-pack failed
[!] Unable to add a source with url https://github.com/CocoaPods/Specs.git named master-1. You can try adding it manually in ~/.cocoapods/repos or via pod repo add. 是由于安装了多个Xcode导致路径变了,

**解决方案: **打开终端命令行,输入一下命令:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
并不一定是这行代码,要根据自己的情况,来修改这个命令行
一个xcode执行这行肯定没问题
如果你是多个xcode的话

图 7

那么你的命令行就要修改一下:
sudo xcode-select -switch /Applications/Xcode 7.3.1.app/Contents/Developer
ps:问题还存在,把xcode全部卸载,只装一个最新的。

5 .fatal: unable to access 'https://github.com/AFNetworking/AFNetworking.git/': SSLRead() return error -9806

这个情况是网络问题, 再执行一次试试.

****************分割线****************

CocoaPods的使用

1 .新建工程,并在终端用cd指令到文件夹内
$pod search 第三方
2 .新建文件 vim “Podfile”
$vim Podfile
写入以下内容并保存 小提示:(终端vim文件 按 i 可编辑 ,esc 退出编辑,:wq 可保存退出)

platform :ios, '8.0'
target '项目target名' do
pod 'AFNetworking', '~> 3.1.0'
end

注意 : target名是工程名,例如xx.xcodeproj的工程名就是xx
3 . 导入第三方库
$pod install
小技巧:

最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

pod install --verbose --no-repo-update
pod update --verbose --no-repo-update

pod install与pod update区别:

1.使用pod install来安装新的库,即使你的工程里面已经有了Podfile,并且已经执行过pod install命令了;所以即使你是添加或移除库,都应该使用pod install。
2.使用pod update [PODNAME] 只有在你需要更新库到更新的版本时候用。

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

推荐阅读更多精彩内容