前几天安装 CocoaPods ,在网上度娘了一下资料,发现资料各种过时各种报错,没有几个靠谱的,特意整理了我本人的成功安装过程,拿出来分享。
PS:taobao Gems 源已停止维护(看到还在用 taobao 源的教程自动忽略吧)。
另外 特别注意 安装时候保证 网络环境要好 网速要快!
操作系统:OSX El Capitan 10.11.6
Xcode 版本:Xcode 7.2.1
第一步:安装 rvm:
无论需不需要升级 Ruby,rvm 可以让你拥有多个版本的 Ruby,并且可以在多个版本之间自由切换。如果已经安装过跳到第二步(执行 rvm -v 查看是否安装)
打开终端(Terminal)执行
curl -L get.rvm.io | bash -s stable
需要等一会
然后执行
source ~/.bashrc
source ~/.bash_profile
等待终端加载完毕然后
rvm -v
如果能显示版本好则安装成功了。
第二步:安装 Ruby
首先执行
sudo gem update --system
CocoaPods 目前安装需要 Ruby 的版本大于 2.2.2,不然会报错:
Error installing pods:activesupport requires Ruby version >= 2.2.2。
目前 Mac 系统默认自带是2.0,所以需要升级。
查看已安装的 Ruby:
rvm list
如果已安装版本大于 2.2.2,直接到第3步。
ruby -v //也可以查看 Ruby 版本
//列出 Ruby 可安装的版本信息
rvm list known
rvm install 2.2.4 //安装一个 Ruby 版本
这里一定要设置为默认版本
rvm use 2.2.4 --default
第三步:更换源
我们需要来修改更换源(由于国内被墙)所以要把源切换至ruby-china 在终端执行以下命令
目前网上文章大都是这面这种:
$ sudo gem update --system
$ gem sources --remove https://rubygems.org/
//等有反应之后再敲入以下命令
$ gem sources -a https://ruby.taobao.org/
这里是个坑会报错: connectreturned=1 errno=0 state=SSLv3 read servercertificateB:certificate verify failed(https://ruby.taobao.org/specs.4.8.gz)
这是因为 taobaoGems 源已停止维护,现在转到 ruby-china 提供镜像服务,正确的操作是:
sudo gem update --system
gem sources --remove https://rubygems.org/
//如果安装了淘宝的镜像再执行下面这条
gem sources --remove https://ruby.taobao.org/
//等有反应之后再敲入以下命令
gem sources -a https://gems.ruby-china.org/
为了验证你的 Ruby 镜像有且只有 ruby-china,可以用以下命令查看:
gem sources -l
只有在终端中出现下面文字才表明你上面的命令是成功的:
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
# 确保只有 gems.ruby-china.org
第四步:安装 CocoaPods
首先执行
sudo gem install -n /usr/local/bin cocoapods
//执行此命令如果出现问题,尝试执行以下命令(设置默认 Xcode)解决:
sudo xcode-select -switch /Applications/Xcode.app/
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
显示 XX gems installed 之后
在终端中输入如下命令来完成安装:
pod setup
这一步需要一点时间来完成,我是手机开移动 4G 热点等了 10 分钟左右,你耐心等就是了
完成之后,执行
pod search AFNetworking
如果显示如下图,就表示成功了
错误处理:(此部分可能会有小错误,还请大家批评指正)
执行 pod search AFNetworking 过一段时间之后(可能会比较久),如果在终端中看到一些红色的错误信息,如下:
Setting up CocoaPods master repo
[!] /usr/bin/Gitclone'https://github.com/CocoaPods/Specs.git' master --depth=1
Cloning into 'master'...
error: RPC failed; result=52, HTTP code = 0
fatal: The remote end hung up unexpectedly
此时执行
pod repo list
结果显示 0 repos,说明没有安装成功, ~/.cocoapods 里面是空的,就需要重新 setup
命令如下:
cd ~/.cocoapods/
sudo rm -rf ~/.cocoapods/
pod repo remove master
pod setup
这一步可能需要花费比较多时间,请耐心等待。
如果出现错误提示为:
Setting up CocoaPods master repo
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.gitmaster
Cloning into ‘master’…
error: RPC failed; result=56, HTTP code = 200
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
执行以下命令:
pod repo remove master
然后通过终端执行
cd ~/.cocoapods/repos
在此目录下,执行终端命令:
git clone https://github.com/CocoaPods/Specs.gitmaster
剩下的就是漫长的等待,文件比较大,约300多M,可能花费些时间,结果类似这样:
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 命令。
除了这个错误以外还可能出现其他错误,错误情况请考虑如下是否存在:
1).github 无法连接。
2).CocoaPods目录下的信息配置错错误。
pod setup一段时间后显示 setup completed
然后在终端中输入
pod repo list
执行以上命令后,我的终端现实如下图(由于太长,仅截取前面一部分):
到此就表示安装成功了
简单使用:
我们先创建 PodFile。在终端中进入( cd 命令)你项目所在目录,然后在当前目录下,执行:
vim Podfile
然后在 Podfile 文件中输入以下文字:
需要注意的是 Podfile 里面输入的格式:
platform :ios, '8.0'
target '你的项目名称' do
pod 'AFNetworking', '~> 3.1.0'
end
然后保存退出。
保存退出命令是(按下 esc 后输入):
:wq
此时,你会发现你的项目目录中,出现一个名字为 Podfile 的文件,而且文件内容就是你刚刚输入的内容。注意,Podfile 文件应该和你的工程文件 .xcodeproj 在同一个目录下。
此时,你就可以利用 CocoaPods 下载 AFNetworking 类库了。
还是在终端中的当前项目目录下,执行以下命令:
pod install
完成之后,以后打开项目就用 .xcworkspace 文件打开,而不是之前的.xcodeproj文件,否则无法关联第三方类库。