如何使用CocoaPods
一:利用CocoaPods,在项目中导入AFNetworking类库
为了确定AFNetworking是否支持CocoaPods,可以用CocoaPods的搜索功能验证一下。在终端中输入:
$ pod search AFNetworking
过几秒钟之后,你会在终端中看到关于AFNetworking类库的一些信息。
这说明,AFNetworking是支持CocoaPods,所以我们可以利用CocoaPods将AFNetworking导入你的项目中。
首先,我们需要在我们的项目中加入CocoaPods的支持。先利用Xcode创建一个名字CocoaPodsDemo的项目,用于以下的教程。
在终端中进入(cd命令)你项目所在目录,然后在当前目录下,利用vim创建Podfile,运行:
$ vim Podfile
然后在Podfile文件中输入以下文字:
platform :ios, '7.0' pod "AFNetworking", "~> 2.0"
这可以在AFNetworking的github页面找到。这两句文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 7.0, 要下载的AFNetworking版本是2.0。
然后保存退出。vim环境下,保存退出命令是:
:wq
这时候,你会发现你的项目目录中,出现一个名字为Podfile的文件,而且文件内容就是你刚刚输入的内容。注意,Podfile文件应该和你的工程文件.xcodeproj在同一个目录下。
这时候,你就可以利用CocoPods下载AFNetworking类库了。还是在终端中的当前项目目录下,运行以下命令:
$ pod install
因为是在你的项目中导入AFNetworking,这就是为什么这个命令需要你进入你的项目所在目录中运行。
运行上述命令之后,会出现以下类似信息:
EricmatoMacBook-Pro:CocoaPodsDemo ericwang$ pod install Analyzing dependencies Downloading dependencies Installing AFNetworking (2.0.2) Generating Pods project Integrating client project [!] From now on use `CocoaPodsDemo.xcworkspace`.
注意最后一句话,意思是:以后打开项目就用 CocoaPodsDemo.xcworkspace 打开,而不是之前的.xcodeproj文件。
也许你会问,为什么会出现.xcodeproj文件呢。这正是你刚刚运行$ pod install
命令产生的新文件。除了这个文件,你会发现还多了另外一个文件“Podfile.lock”和一个文件夹“Pods”, 点击 CocoaPodsDemo.xcworkspace 打开之后工程。发现AFNetwoking已经成功导入项目了。
现在,你就可以开始使用AFNetworking.h啦。可以稍微测试一下,在你的项目任意代码文件中输入:
#import <AFNetworking.h> 或者 #import "AFNetworking.h"
然后编译,看看是否出错。
总结结果:
- 先在项目中创建Podfile,Podfile的内容是你想导入的类库。一般类库的原作者会告诉你导入该类库应该如何写Podfile;
- 运行命令:
`$ pod install
.
二:如何正确编译运行一个包含CocoPods类库的项目
你也许曾经遇到过(特别是新手iOS开发者)这种情况,好不容易在GitHub上找到一份代码符合自己想需求,兴冲冲下载下来,发现有各种各样错误。原来是缺失了各种其他第三方类库。再仔细一看,会发现你下载的代码包含了Podfile。这意味着你可以用CocoaPods很方便下载所需要的类库。
下面以代码 UAAppManager 为例来说明如何正确编译运行一个包含CocoPods类库的项目。
当你去UAAppManager的GitHub地址下载这份代码之后,打开Example工程,编译,你会发现Xcode报告一大堆错误,基本都是说你编译的这份代码找不到某某头文件,这就意味着你要成功编译UAAppManager的Example代码,必须先导入一些第三方类库。同时你会发现在UAAppManager文件夹下面有三个跟CocosPods相关的文件(文件夹):Podfile,Podfile.lock和Pods。
这时候,打开终端,进入工程所在的目录,也就是和Podfile在同一目录下,输入以下命令(由于已经有Podfile,所以不需要再创建Podfile):
$ pod update
过几秒(也许需要十几秒,取决于你的网络状况)之后,终端出现:
Analyzing dependencies Fetching podspec for `UAAppManager` from `../` Downloading dependencies Installing UAAppManager (0.1.6) Generating Pods project Integrating client project [!] From now on use `UAAppManagerExample.xcworkspace`.
这时候,再回到UAAppManagerExample文件夹看一看,会看到多了一个文件UAAppManagerExample.xcworkspace。
打开UAAppManagerExample.xcworkspace,编译运行,成功!