一年前在外包公司呆过,惊叹于Cocoa Pods的强大,也让我有很多迷惑的地方。以前写过一篇Cocoa Pods使用的博客,详细列出了经过Unix终端命令搭建环境的步骤,发布在新浪sae搭建的WordPress博客平台,可是由于没有续费,如今找不到了。html
近半年来在新公司,惊叹于老大进行项目依赖关系的处理,我老大主要是对iOS平台的Xcode工具中的Workspace、Project、Target以及各类静态库之间的关系理解的比较透彻,因此他这方面的操做很牛逼。其实跟老大学习这方面的东西,基本可以知足项目资源管理的需求了,可是为何我还要从新整理Cocoa Pods,总结搭建Cocoa Pods环境的博客呢?我想主要有如下几点:ios
(1)看不少的iOS博客教程,基本初始的步骤就是要有Cocoa Pods环境;git
(2)Cocoa Pods确实是一个方便的工具,特别是在敏捷开发多个项目的时候,一个工具重复使用,大量节约时间;github
(3)能够及时更新github上面的开源库代码,只要改动Podfile文件中对应的开源库的版本号便可。web
1、Cocoa Pods简介vim
Cocoa Pods是一个负责管理iOS项目中第三方资源的工具,它的项目源代码在Github上面管理,得益于活跃的Github开发者社区大神们的不断维护,从2011年8月该项目启动以来,它保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得咱们能够节省设置和更新第三方开源库的时间。缓存
在咱们有了CocoaPods这个工具以后,只须要将用到的第三方开源库放到一个名为Podfile的文件中,而后在命令行执行$pod install命令,CocoaPods就会自动将这些第三方资源库的源代码下载下来,而且为当前的工程设置好响应的系统依赖和编译参数。ruby
2、Cocoa Pods的安装网络
(1)安装
app
安装的方式很是简单,Mac下已经再带了ruby,只要使用ruby的gem命令就能够安装了。打开Mac终端工具,在终端运行下面的命令,
[sudo] gem install cocoapods pod setup
说明,上面的[sudo]能够省略,这两个步骤都是进行网络请求的过程,因此须要必定的等待时间。
(2)更新
若是咱们修改了Podfile文件,那么就须要更新CocoaPods,使用下面的ruby的gem命令来更新,
[sudo] gem update cocoapods
(3)查找第三方库
可使用pod search + lib_name来搜索第三方库,查看版本,以下命令所示,
sudo pod search sdwebImage
说明:SDWebimage是一个用于图片缓存的开源库,是对UIImageView类的扩展。
3、Cocoa Pods的使用
如今我在Desktop/develop文件夹下面新建了一个项目,参考CocoaChina中的一个教程,就是一个完整的天气App,项目名称为SimpleWeather,那么接下来这样操做使用Cocoa Pods,
(1)进入项目SimpleWeather.project所在的文件夹,在终端输入如下命令,
cd Desktop/develop/SimpleWeather
(2)在该目录中,经过Vim新建Podfile
vim Podfile
(3)经过i(insert模式),插入以下的语句,
platform :ios, '7.0' pod 'Mantle' pod 'LBBlurredImage' pod 'TSMessages' pod 'ReactiveCocoa'
这样就指定了第三方资源的iOS版本、开源库主要包括:Mantle、LBBlurredImage、TSMessages、ReactiveCocoa,这些都不重要,这里只是示范而已。
输入完成之后退出vim并保存,先Esc而后输入:wq,表示写入并退出。
(4)在终端输入$pod install,
pod install
初始化pod也是一个网络请求下载的过程,稍等一段时间,若是输入的资源名称没有问题,那么过一段时间就会在终端获得初始化成功的提示。
4、经过WorkSpace来进行项目代码的编写
进入项目文件夹,能够看见一个后缀名未.workspace的文件,双击打开。从如今开始咱们经过来SimpleWeather.xcworkspace管理项目、编写代码,而不是以前的SimpleWeather.xproj,打开workspace文件,Xcode项目的文件结构以下图所示,
第一个箭头所指的就是SimpleWeather项目;第二个箭头就是Pods帮咱们生成的项目,它来管理须要的资源库;第三个箭头指向的就是Podfile里面指定的第三方开源库。
还有须要注意的是每当咱们修改了Podfile这个文件以后,必定要在项目所在文件夹执行$pod install命令,还能够执行$pod update来更新类库。
总结:
这里是我在开发过程当中简单总结的,有不少没有考虑到的细节,我会根据本身遇到的问题再不断地更新这个博客。在上家公司工做的时候就遇到一些CocoaPods更新时候须要最高权限的问题,我尽可能在后面重现,帮助遇到该问题的朋友解决这个问题。