使用CocoaPods进行Objective-C第三方库的管理(一)

daiyelang 2014-07-20

开发应用的时候,第三方库是不可或缺的,能提高开发的效率。一些经常用到的库,在新的项目里用时,又得手工添加到项目里,当某个库有新版本时,又必须重新下载新版本,手动添加到项目里,用到的库多起来后,就不方便管理了。CocoaPods可以帮你管理Xcode里的第三方库,个人感觉和gems是差不多的东西,用起来很方便。

CocoaPods是一个用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系、下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。

使用CocoaPods的目的是让我们能自动化的、集中的、直观的管理第三方开源库。

CocoaPods是Ruby开发的一个gem包,安装CocoaPods之前,请确保已经安装了Ruby的环境。

本文使用环境如下:

系统:Mac OS X Mavericks 10.9.4

Ruby:ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]

Gem:2.0.14

一、安装CocoaPods

执行以下命令进行安装

sudo gem install cocoapods

如果Ruby环境不够新的话,执行以下命令进行版本更新

gem update --system

二、使用CocoaPods的搜索功能

pod search JSONKit

搜索结果

使用CocoaPods进行Objective-C第三方库的管理(一)

三、初始化

进入需要管理的项目目录,执行以下命令

vim Podfile

输入以下内容

platform :ios
pod 'JSONKit'

或者也可以使用CocoaPods提供的命令来创建Podfile

pod init

保存后,再执行以下命令

pod install

CocoaPods就开始为我们做下载源码、配置依赖关系、引入需要的framework等一系列工作,执行完之后,项目目录是这样的

使用CocoaPods进行Objective-C第三方库的管理(一)

多了*.xcworkspace、Pods等文件,这是pod生成的项目管理文件。

对于工程发生的变化,有几点需要说明:

1、第三方库会被编译成静态库供我们的工程使用

CocoaPods会将所有的第三方库以target的方式组成一个名为Pods的工程,该工程就放在刚才新生成的Pods目录下。整个第三方库工程会生成一个名称为libPods.a的静态库提供给我们自己的工程使用。

2、我们的工程和第三方库所在的工程会由一个新生成的workspace管理

为了方便我们直观的管理工程和第三方库,我们自己的工程和Pods工程会被以workspace的形式组织和管理,也就是我们刚才看到的xcworkspace文件。

原来的工程设置已经被更改了,这时候我们直接打开原来的工程文件去编译就会报错,只能使用新生成的workspace来进行项目管理。

打开Hello.xcworkspace,在Xcode里看到的是这样的目录结构:

使用CocoaPods进行Objective-C第三方库的管理(一)
设置项目的头文件路径

使用CocoaPods进行Objective-C第三方库的管理(一)
接下来就可以使用JSONKit库了。

更多关于CocoaPods的信息可参考官网

如果你不想手动去执行pod命令的话,可以安装CocoaPods for Xcode,这是一个Xcode的插件,可以很方便的在Xcode中通过pods安装各种Objective-C的第三方库。目前,CocoaPods for Xcode只支持Xcode5以上版本。

安装CocoaPods for Xcode有两种方式

1、到github上下载项目源码并编译安装

2、使用Alcatraz进行安装

本文采用第二种方式进行安装。Alcatraz只支持Xcode5和OS X 10.9以上版本。

执行以下命令安装Alcatraz

curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh

安装完成后,重启Xcode,可以通过Window -> Package Manager打开Alcatraz。

在Alcatraz中搜索CocoaPods,单击列表中对应的项目即可进行安装和卸载了。安装完成后,可以通过Product -> CocoaPods来使用CocoaPods。

相关推荐