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


dowhilenet
654 声望10 粉丝

引用和评论

0 条评论