Cocoapods是一款优秀的类库管理工具,使用它可以下载库的源代码、解决库的依赖关系及通过workSpace导入我们的工程中,然而这些使用上的便利都建立在我们正确设置的基础上。
扩展阅读:http://nshipster.cn/cocoapods/
一、安装Cocoapods
Cocoapods用Ruby实现,所以我们必须有Ruby的环境。OS S系统默认自带了Ruby运行环境,但万一你的Ruby环境有了问题请Google搜索一下。
在Ruby环境中,Cocoapods的安装十分简单,理论上仅需要一条命令就可以完成安装:
sudo gem install cocoapods
但是在伟大的天朝,却没有这么简单了。
因为网络原因,我们不能从rubygems.org下载到Cocoapods,好在淘宝做了一个完整的镜像服务器,每15分钟同步一次,完全可以取代rubygems.org来供我们使用。所以在安装之前我们最好使用下面的命令替换Rubygems:
gem source --remove https://rubygems.org/
gem source -a https://ruby.taobao.org/
如果命令成功,便会有如下输出结果,表示Ruby源已经被正确的替换为Taobao了。
http://ruby.taobao.org/ added to sources
再次输入安装命令,稍等待之后,Cocoapods就自动下载并安装完成了。
在这一步呢可能你还会回遇到些问题,这是我之前提问过的一个问题
你可以通过下边的命令安装
sudo gem install -n /usr/local/bin cocoapods
有可能你会遇到你的Gem版本太老了
Cocoapods是以Gem包形式被安装的,如果Gem的版本过低同样会导致安装失败。当你遇到这样的问题时只需要升级Gem版本就好了。
sudo gem update --system
Cocoapods环境设置
简简单单的几步我们的安装过程就结束了,但是我们在使用之前还需要用pod setup 命令来设置Cocoapods环境,为什么要设置,设置什么?我们看完设置的过程就自然明白了。为了便于观察,我们加上了verbose选项。
pod setup --verbose
熟悉git的小伙伴们肯定一眼就看出来了,整个设置过程就做了两件事情:
设置Specs代码库
更新Specs
设置了Cocoapods环境之后我们为什么还需要去下载Specs?Specs其实是由若干个podspec.son文件组成的集合,而每一个文件描述了一个开源库的名称、版本、git路径、原文件和头文件及依赖关系。可见Cocoapods对开源库的管理核心就在于此,根据这些信息Cocoapods就能帮助小伙伴们自动去指定的git路径下载代码并解决依赖关系。有了Specs之后Cocoapods才知道怎么去工作,这就是为什么要在使用之前先做setup。
由于天朝的网络问题,我们不要使用pod setup去设置环境。国内有个好心的开源斗士阿宽,他做了一个Specs镜像,其每十分钟和Github仓库同步一次,我们可以使用这个Specs镜像仓库,从根本上解决网络问题。下面的命令即可完成对Specs的下载和更新:
pod repo remove master
pod repo add master http://git.oschina.net/akuandev/Specs.git
pod repo update
大概这里会下载180MB,稍微等待就会好了。
千万别再去运行 `pod setup`命令,不然他会把代码仓库地址重新设置为github,如果需要更新Specs,只需要运行pod repo update
命令即可。
构建Cocoapods项目
第一步嘛,肯定是先创建XCode项目了。
第二步,查看开源库是否可用
假如我们要用到AFNetworking类库,先使用pod search
命令搜索一下这个库:
如果这个地方出错了,可能是本地的Specs没有更新,可以通过pod repo update
命令更新之后再次尝试。
第三步、初始化pod
Cocospods的初始化是基于Podfile文件的,在这个文件中我们要指定我们需要哪些库,以及版本信息,以便COcoapods能正确工作,Podfile的创建有很多方法,可以直接手动创建这个文件,也可以通过下面的命令来自动生成一个模版文件:
pod init
无论用什么方法创建Podfile必须包含所支持的平台,类库名和版本这三个必要信息。
# Uncomment this line to define a global platform for your project
platform :ios, '6.0' #所有库支持的iOS最低版本
pod 'AFNetworking', '~>2.0' #版本号
执行下面的命令安装;
pod install
在你的项目文件会多出一些文件
.xcworkspace
即可继续完成后边的开发过程,无需担心任何依赖问题。
类库的更新
类库也处于一个不断维护的状态,所以当我们完成pod install
之后仍然可能会有一些更新。另外我们对于类库的依赖随着项目的开发可能也会有一些变动。这就要求我们的Cocoapods也能按照许求更新类库。当小伙伴们有这样的需求的时候只需要运行下面的命令即可:
pod update
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。