为什么需要CocoaPods
在进行iOS开发的时候,总免不了使用第三方的开源库,比如AFNetworking、Reachability等等。使用这些库的时候通常需要:
1:下载开源库的源代码并引入工程
2:向工程中添加开源库使用到的framework
3:解决开源库和开源库以及开源库和工程之间的依赖关系、检查重复添加的framework等问题
4:如果开源库有更新的时候,还需要将工程中使用的开源库删除,重新执行前面的三个步骤,这样的操作台繁琐
所以有了CocoaPods,通过使用CocoaPods这些繁杂的工作就不再需要我们自己亲力亲为了,只需要我们做好少量的配置工作,CocoaPods会为我们做好一切!
什么是CocoaPods
CocoaPods是一个用来帮助我们管理第三方依赖库的工具。由一个单一的文件管理工程,称之为Podfile。它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。
使用CocoaPods的目的是让我们能自动化的、集中的、直观的管理第三方开源库。也可以看这里
Cocoa pods意义
1:在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。
2:使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,一般github大神的库都很棒,这样可以让我们找到真正好用的类库。
核心组件
CocoaPods是用 Ruby写的,并由若干个 Ruby包 (gems)构成的。在解析整合过程中,最重要的几个 gems分别是: CocoaPods/CocoaPods, CocoaPods/Core,和 CocoaPods/Xcodeproj (是的,CocoaPods是一个依赖管理工具 --利用依赖管理进行构建的!)。
注:CocoaPods是一个 objc的依赖管理工具,而其本身是利用 ruby的依赖管理 gem进行构建的
CocoaPods/CocoaPod
这是是一个面向用户的组件,每当执行一个 pod命令时,这个组件都将被激活。该组件包括了所有使用 CocoaPods涉及到的功能,并且还能通过调用所有其它的 gems来执行任务。
CocoaPods/Core
Core 组件提供支持与 CocoaPods相关文件的处理,文件主要是 Podfile和 podspecs。
Podfile
Podfile 是一个文件,用于定义项目所需要使用的第三方库。该文件支持高度定制,你可以根据个人喜好对其做出定制。更多相关信息,请查阅 Podfile指南。
Podspec
.podspec 也是一个文件,该文件描述了一个库是怎样被添加到工程中的。它支持的功能有:列出源文件、framework、编译选项和某个库所需要的依赖等。
CocoaPods/Xcodeproj
这个 gem组件负责所有工程文件的整合。它能够对创建并修改 .xcodeproj和 .xcworkspace文件。它也可以作为单独的一个 gem包使用。如果你想要写一个脚本来方便的修改工程文件,那么可以使用这个 gem。