工欲善其事,必先利其器,在此记录一下CocoaPods的安装及使用。
一、安装
1、升级Ruby环境
在终端使用:$sudo gem update —system来进行升级
2、安装CocoaPods时我们要访问cocoapods.org,该网站可能被墙了,这样下载安装可能会是龟速,我们可以用淘宝的Ruby镜像来访问该网站,方法如下:
1)、gem sources –remove https://rubygems.org/
2)、gem sources -a http://ruby.taobao.org/
可以使用下面的命令查看是否更换镜像成功(如下图所示):
$ gem sources -l
3、安装CocoaPods
在终端输入命令 $sudo gem install cocoapods
这个时候会提示你输入密码,注:在终端输入密码不会有提示,光标也不会移动,一定要注意。
这个过程可能花费比较长的时间,需要耐心等待。
二、使用
1、检查CocoaPods是否安装成功
在终端输入命令 $pod –version 检查版本。
在终端输入命令 $pod search AFNetworking
如果CocoaPods支持,将会输出搜索到的所有AFNetworking类库版本和信息。如下图,说明CocoaPods已经能正常工作。
2、在工程中创建Podfile文件
使用cd命令,进入工程根目录后,输入命令
$ touch Podfile
然后使用vim编辑Podfile文件,使用命令:
$ vim Podfile
打开后输入如下内容,并保存退出即可。
$platform:ios, ‘7.0’
$ pod ‘AFNetworking’, ‘~> 2.6.1’
3 、安装第三方类库
在终端输入如下命令即可安装相应的第三方类库
$pod install
这个过程下载第三方类库,时间和网速有关,请耐心等待。
4、工程文件使用
第三方类库安装成功后,以后打开工程都需要从扩展名为.xcworkspace的工程文件打开。
5、遇到的问题及解决方案
最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库(Pod install可能被墙),加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install –verbose –no-repo-update
pod update –verbose –no-repo-update
或者
pod install –no-repo-update
pod update –no-repo-update
当然有空的时候,可以执行一下 pod repo update 避免本地repo太长时间没有更新。
三、重装Cocoapods(2016-4-16更新)
近来发现执行pod install –verbose –no-repo-update时老是出现AFNetworking3.0安装失败,原来是本地pod repo只能搜索到AFNetworking2.6,所以就执行一下 pod repo update ,但是进行pod repo update –verbose还是更新新不了。所以就干脆重装Cocoapods,按照下面步骤重装后,所有问题就都解决了。
1、卸载
参照http://blog.5ibc.net/p/58783.html
2、为了避免如下错误
Updating rubygems-update
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/update_rubygems
需要进行如下操作(来自stackoverflow)
ended up installing ruby via homebrew. Install homebrew first:
then execute
brew install ruby
after that it worked flawlessly. It has something to do with the native ruby installation.
3、接下来按照前面介绍的正常步骤安装。
出现错误:
根据上图的错误解决提示,最终解决方案是需要安装CocoaPods version 1.0 preview(在此版本中解决了这个问题),如下所示:
$ sudo gem install -n /usr/local/bin cocoapods –pre
$ pod setup
安装完成后,执行
$ pod install –verbose –no-repo-update
注:记得使用新的Podfile文件语法Cocoapod version 1.0