在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中。
但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦。有没有什么办法可以简化对第三方库的管理呢?有!在使用SDWebImage这个第三方库的时候,我在学习如何将进度展现时,看到有人提到用CocoaPods(http://cocoapods.org/,需FQ) 来管理第三方开源库。
CocoaPods是管理Objective-c 程序中各种第三方开源库关联非常棒的方式,只要安裝好 CocoaPods,在自己程序的根目录下建立一份 Podfile 文字,在里面说明要使用哪些套件, CocoaPods 就会帮忙你搞定所有套件的相依性。
那现在我们学习如何使用CocoaPods吧。
安装
CocoaPods 是一个 Ruby 的 Gem,所以只要在 Terminal 下达安裝的指令:
1
2
|
gem install cocoapods
pod setup
|
注:执行代码的时候你可能会觉得没反应,这里是需要时间的,耐心等待一下吧。
这样就安装好了,检查一下是否安装好了没,随便搜索一个第三方的开源库:
结果如下图所示:
没有报错误或其他什么的,说明CocoaPods安装成功。
好了,我们再看看怎么使用。
使用
比如你想使用SDWebImage这个开源库,你可以用上图的命令:pod search SDWebImage来搜索当前有多少个SDWebImage的版本及每个版本的相关信息。然后选择你需要的版本,将其添加到Podfile文件中。
将开源库添加到Podfile文件中有两种方法:
方法一(手动建Podfile文档):
- 你在你工程的根目录下新建一个名为Podfile的文本文档;
- 然后将上图中红色方框内的文字(pod 'SDWebImage', '~> 3.4')复制进去;
- 保存,然后去掉文本文档的后缀名(有后缀会发生发错误,亲测)。
方法二(命令行建Podfile文档):
- 首先定位到你工程的根目录去(因为文档要建在这里);
- 然后编辑Podfile文档(Podfile存在则编辑,没有就会新建),将将上图中红色方框内的文字(pod 'SDWebImage', '~> 3.4')复制进去;
- 保存。
命令行如下所示:
1
2
|
cd
'你的工程根目录'
#不要引号 ,打开你的根目录
vi Podfile #打开并开始编辑
|
如下图所示:
编辑完成之后按Esc键退出编辑,然后输入‘:wq’保存并退出。
现在你可以在项目中安装依赖关系了:
Tips:如果你引用的库很大,不需要所有的文件,可以这样写:
安装成功以后,你的工程跟木下会产生一个这样的文件:
确保以后就用这个文件来打开你的工程就行了。
创建一个pod
(摘自CocoaPods官网:http://cocoapods.org)
有时CocoaPods没有你需要的pod资源,但是幸运的,你可以很容易的创建一个:
pod spec create Peanut
edit Peanut.podspec
pod spec lint Peanut.podspec
When you’re done, please
create a ticket and upload the pod. You can also fork the
CocoaPods specs GitHub repository and send a pull request. We really love contributions!
补充:
如何在cocoapods中使用更新的pod:
http://www.cnblogs.com/procoder/archive/2013/01/15/how-to-get-updated-version-of-pods-on-cocoapods.html