本文写于2016年9月,安装Cocoapods 用于iOS开发,可直接用Mac上的终端从GitHub上将第三方框架应用到工程中,接下来的安装配置基于上一篇文章《在Mac OS X上安装 Ruby运行环境》
所配置的系统环境。
Cocoapods的安装
1.升级Ruby环境
如果Ruby没有安装,请参考 《在Mac OS X上安装 Ruby运行环境》。
gem是一种文件组织的包,基于ruby开发,一般的ruby的很多插件都由各种包提供。
注:以下代码区域,带有 $ 打头的表示需要在控制台(终端)下面执行(不包括 $ 符号),下一行为结果,不需码入。
$ sudo gem -v
$ sudo gem update --system
2.安装Cocoapods时我们要访问cocoapods.org,用淘宝的RubyGems镜像来代替官方版本,执行以下命令:
$ gem sources --remove https://rubygems.org/
//等有反应之后再敲入以下命令
$ gem sources -a https://ruby.taobao.org/
为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:
$ gem sources -l
只有在终端中出现下面文字才表明你上面的命令是成功的:
*** CURRENT SOURCES ***
http://ruby.taobao.org/
上面的命令,有时试了会没有效,请参考淘宝网的https://ruby.taobao.org
$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
$ gem sources -l
*** CURRENT SOURCES ***
https://ruby.taobao.org
请确保只有 ruby.taobao.org
3.1 安装Cocoapods,在终端输入命令:
注意:(Mac版本10.11以上,请直接跳到3.2)
$ sudo gem install cocoapods
3.2 Mac系统版本10.11以上,上面的命令不生效
sudo gem install -n /usr/local/bin cocoapods
sudo xcode-select --switch /Applications/Xcode.app
4.安装:
//将 Cocoapods Specs repository 复制到你电脑上 ~/.cocoapods 目录下
pod setup
安装需要花费比较多时间,请耐心等待,到这里你已经成功安装了Cocoapods。
5.问题
(1)如果遇到如下问题:
移除原来的cocoapods:
$ sudo gem uninstall cocoapods //交互时选择 y
重新执行3和4步。
(2)如果安装失败 ~/.cocoapods 文件夹里面是空的,就需要重新setup,命令如下:
pod repo remove master
pod setup
另附:
pod --version //查询cocoapods版本
sudo gem install cocoapods --pre //更新cocoapods版本
Cocoapods的使用
1.使用search命令搜索类库名:比如AFNetworking
$ pod search AFNetworking
得到结果如下图:
从这个图上,我们看到AFN有好多版本,最新的版本是3.1.0.
注意第三行,这是我们接下来要添加到Podfile文件里面的内容。按q退出
2.
(1)打开Xcode,新建一个工程,工程名为swift_test。
(2)使用跳转命令cd到工程目录下:cd后面跟空格,然后跟的是工程目录名。
$ cd /Users/ZGZ/Desktop/swift_test
(3)回车后,输入命令---在工程目录下,创建了一个Podfile文件
$ pod init
3.使用vim编辑Podfile文件
$ vim Podfile
然后在Podfile文件中输入以下文字:
$ pod 'AFNetworking', '~> 3.1.0’
按“ i ”进行编辑,在编辑完后按 esc ,然后按" : ",再输入wq保存退出。
4.利用cocopods下载AFNetworking类库
还是在终端中的当前项目目录下,运行以下命令:
$ pod install
安装成功后,在工程目录里会看到多了一个.xcworkspace工程,以后打开项目就用 swift_test.xcworkspace 打开,而不是之前的.xcodeproj文件。
5.打开 CocoapodsSample.xcworkspace 工程,可以看到AFNetwoking已经成功导入项目。
另附:
(1)如果有一些包已经存在了,或者我们更改了Podfile里面的版本,可以在终端cd到该工程目录下使用以下命令更新。
$ pod update
(2)关于Podfile文件编辑时,第三方库版本号的各种写法:
pod ‘AFNetworking’ //不显式指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本
pod ‘AFNetworking’, ‘>2.0′ //使用高于2.0的版本
pod ‘AFNetworking’, ‘>=2.0′ //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘<2.0′ //使用小于2.0的版本
pod ‘AFNetworking’, ‘<=2.0′ //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~>0.1.2′ //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
pod ‘AFNetworking’, ‘~>0.1′ //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0′ //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本