![Uploading 8FB0E81F-0248-4B0C-ABD0-32D057FD66AB_705924.png . . .]
前言:最近几天在安装cocoaPods的时候遇到了N多问题,首先是以前用的淘宝Ruby镜像已经不能用了,需要添加(https://gems.ruby-china.org)镜像才可以使用.以下是我总结的几种安装cocoaPods的最新教程.
第一种方式(这种方式是比较慢的,不推荐)
1 . 首先mac系统是已经默认安装好Ruby环境的(除非你自己删除)如果你不确定系统是否有Ruby, 可以在终端输入命令检查ruby版本.
$ ruby -v
2 . 查看当前服务器
$ gem sources -l
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
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即可。
如果gitclone还慢的话,直接上https://github.com/CocoaPods/Specs点击下载。根据上面的目录结构图,放对了就好。
****************分割线****************
安装中遇到的错误
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
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 urlhttps://github.com/CocoaPods/Specs.git
namedmaster-1
. You can try adding it manually in~/.cocoapods/repos
or viapod repo add
. 是由于安装了多个Xcode导致路径变了,
**解决方案: **打开终端命令行,输入一下命令:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
并不一定是这行代码,要根据自己的情况,来修改这个命令行
一个xcode执行这行肯定没问题
如果你是多个xcode的话
那么你的命令行就要修改一下:
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] 只有在你需要更新库到更新的版本时候用。