在我们项目开发的过程中,时不时的会用到第三方库,并且在一个项目中会用到多个第三方库,于是我们可以使用CocoaPods来安装和管理第三方库,这使我们在整个开发环境中对第三方库的版本管理非常方便。 CocoaPods 的原理是将所有的第三方库都放到另一个名为 Pods 项目中,并且让主项目依赖 Pods 项目,于是,源码管理工作都从主项目移到了 Pods 项目中。本文中我将介绍如何安装和使用CocoaPods。
CocoaPods 安装
1.升级Ruby环境
1 | $ sudo gem update --system |
环境升级的过程比较慢,静心等待吧(不要吐槽我的网速渣)!
2.使用淘宝的RubyGems镜像来代替官方版本
1 | $ gem sources --remove https://rubygems.org/ |
验证Ruby镜像只有taobao,使用命令:
1 | $ gem sources -l |
出现以下信息说明安装成功,具体可以查看官方文档https://ruby.taobao.org:
3.安装CocoaPods
- 系统在10.11以下:
1 | $ sudo gem install cocoapods |
- 系统在10.11以后
1 | $ sudo gem install -n /usr/local/bin cocoapods |
在安装时,可能会出现错误,提示需要2.2.2以上版本Ruby,我在安装时就碰到这个错误,若遇到同样问题,请参考MAC OS Ruby升级。
输入以下完成安装:
1 | $ pod setup |
注意:
在执行pod setup
的时候会输出Setting up CocoaPods master repo
,文件比较大,下载慢,等待的时间会非常久,还可能会出现错误:
执行pod setup
其实是CocoaPods会将pod spec索引文件信息更新到~/.cocoapods目录下,可以通过du -sh *
查看下载进度。有一位大神在国内的gitcafe、oschina上建立了CocoaPods的索引库镜像,因此可以使用国内的镜像,这样会快很多,执行步骤如下:1
2
3$ pod repo remove master
$ pod repo add master https://gitcafe.com/akuandev/Specs.git
$ pod repo update
将https://gitcafe.com/akuandev/Specs.git
替换成http://git.oschina.net/akuandev/Specs.git
就是oschina上的索引库镜像。
以下界面说明setup成功:
CocoaPods 使用
1.使用search搜索类库名1
$ pod search AFNetworking
效果如下:
2.新建项目CocoaPodsSample,切换到项目根目录,并建立Podfile文件1
2$ cd "your project home"
$ touch Podfile
效果如下:
3.使用vim编辑并保存pod file1
$ vim Podfile
输入以下内容:1
2
3
4
5
6source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target 'CocoaPodsSample' do
pod 'AFNetworking', '~> 3.1'
end
4.下载安装AFNetworking1
$ pod install
安装成功后:
5.双击CocoaPodsSample.xcworkspace
打开工程,会发现AFNetworking已经安装好了,在ViewController中引入#import "AFNetworking"
,再编译,不出错的话就可以使用啦。
注意:在执行
pod install
之后会生成Podfile.lock
文件,在官方文档中提到Podfile.lock
应该放到按本控制中,因为Podfile.lock
会锁定当前各依赖库的版本,之后如果多次执行pod install
不会更改版本,pod update
才会改Podfile.lock了。于是在多人协作的时候,能防止第三方库升级时造成大家各自的第三方库版本不一致
,详情请查看官方文档。