一,Cocoapod的简介
1.为什么需要CocoaPods?
** 为什么需要CocoaPods **
在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson
、AFNetworking
、Reachability
等等。使用这些库的时候通常需要:
- 下载开源库的源代码并引入工程
- 向工程中添加开源库使用到的framework
- 解决开源库和开源库以及开源库和工程之间的依赖关系、检查重复添加的framework等问题
自从有了CocoaPods
以后,这些繁杂的工作就不再需要我们亲力亲为了,只需要我们做好少量的配置工作,CocoaPods
会为我们做好一切!
2.什么是CocoaPods
CocoaPods是一个用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。使用CocoaPods的目的是让我们能自动化的、集中的、直观的管理第三方开源库
二,安装CocoaPods
1.安装
CocoaPods
是用Ruby
实现的,要想使用它首先需要有Ruby
的环境。幸运的是OSX系统默认的已经可以运行Ruby
了,因此我们只需要执行以下命令:
$ sudo gem install cocoapods
在安装进程结束的时候,执行命令:
$ pod setup
如果没有报错,就说明一切安装就成功了!
2.关于Cocoapods
的版本(因为有些公司项目可能指定cocoapods
的版本)
执行以下指令:
pod --version
如果版本不符合要求,可以执行以下操作(假如要安装0.35.0版本):
sudo gem uninstall pod
gem install pod -v 0.35.0
三,使用CocoaPods
1.创建一个Podfile
如果之前做的一切顺利,接下来就可以体验体验CocoaPods的神奇之处了,需要经过以下几步:为了演示这个过程,我创建了一个名为CocoaPodsTest(打开xCode随便建一个项目即可)的工程,然后进入到,工程的目录下执行如下指令操作:
$ cd path/CocoaPodsTest (path 代表路径!)
$ touch Podfile
2、编辑Podfile
根据需要,我们可以在Podfile文件中写入需要用到的第三方库,以AFNetworking
三个库为例,我的Podfile内容如下:
platform :ios, '7.0'
pod 'AFNetworking', '~> 2.0'
需要说明的是,platform :ios ,'7.0' 指明平台和版本(有些第三方库支持的版本不一样,这里需要注意)。
pod ‘AFNetworking’,'~>2.0' 意思是导入2.0版本的AFNetworking。
3、执行导入命令
准备工作都完成后,开始导入第三方库:
首先仍然需要进入CocoaPodsTest项目的目录下
$ cd path/CocoaPodsTest
$ pod install
执行pod install命令后,CocoaPods就开始为我们做下载源码、配置依赖关系、引入需要的framework等一些列工作,命令的执行结果打印出来如下:
Downloading dependencies
Installing AFNetworking (2.5.4)
Generating Pods project
Integrating client project
[!] From now on use `CocoapodTest.xcworkspace`.
请注意最后一句From now on use CocoaPodsTest.xcworkspace
. 这就是告诉你,以后打开项目直接点击xcworkspace文件启动!
再来看看工程根目录发生的变化,如下图:
可以看到,工程的根目录下多了三个东西:CocoaPodsTest.xcworkspace
、Podfile.lock
文件和Pods目录
。
对于工程发生的变化,有几点需要说明:第三方库会被编译成静态库供我们正真的工程使用CocoaPods
会将所有的第三方库以target的方式组成一个名为Pods的工程,该工程就放在刚才新生成的Pods目录下。整个第三方库工程会生成一个名称为libPods.a
的静态库提供给我们自己的CocoaPodsTest工程使用。
我们的工程和第三方库所在的工程会由一个新生成的workspace管理为了方便我们直观的管理工程和第三方库,CocoaPodsTest工程和Pods工程会被以workspace的形式组织和管理,也就是我们刚才看到的CocoaPodsTest.xcworkspace
文件。
原来的工程设置已经被更改了,这时候我们直接打开原来的工程文件去编译就会报错,只能使用新生成的workspace来进行项目管理。
打开CocoaPodsTest.xcworkspace,界面如下:
工程的目录结构还是非常明显的。好了,CocoaPods的基本使用方法就先介绍到此。