一、什么是cocoapods
cocoapods是一个用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。
使用cocoapods的目的是让我们能自动化的、集中的、直观的管理第三方开源库。
二、安装cocoapods
参考百度
三、使用cocoapods
1、创建podfile
cocoapods的一切都是从一个名为podfile的文件开始的,我们需要先创建这个文件。个人习惯使用命令行,我会这样做:
$ cd /users/desktop/podstest
$ touch podfile
2、编辑podfile
根据需要,我们可以在podfile文件中写入需要用到的第三方库,以JSPatch、FLEX两个库为例,我的podfile内容如下:
workspace 'BTManagerDemo'
target "BTManagerDemo" do
platform :ios, "13.0"
inhibit_all_warnings!
pod 'JSPatch', '0.1.5'
pod 'FLEX', '2.2.0'
end
3、执行导入命令
准备工作都完成后,开始导入第三方库:
$ cd /users/desktop/podstest
$ touch install
首先进入工程根目录,然后执行pod install命令,cocoapods就开始为我们做下载源码、配置依赖关系、引入需要的framework等一些列工作,命令的执行结果打印出来如下:
这就说明pod install命令执行成功了。再来看看工程根目录发生的变化,如下图:
可以看到,工程的根目录下多了三个东西:cocoapodstest.xcworkspace、podfile.lock文件和pods目录。
[!] from now on use `cocoapodstest.xcworkspace`.
提示我们从现在起,我们需要使用cocoapodstest.xcworkspace文件来开发。
对于工程发生的变化,有几点需要说明:
第三方库会被编译成静态库供我们正真的工程使用
cocoapods会将所有的第三方库以target的方式组成一个名为pods的工程,该工程就放在刚才新生成的pods目录下。整个第三方库工程会生成一个名称为libpods.a的静态库提供给我们自己的cocoapodstest工程使用。
我们的工程和第三方库所在的工程会由一个新生成的workspace管理
为了方便我们直观的管理工程和第三方库,cocoapodstest工程和pods工程会被以workspace的形式组织和管理,也就是我们刚才看到的cocoapodstest.xcworkspace文件。
原来的工程设置已经被更改了,这时候我们直接打开原来的工程文件去编译就会报错,只能使用新生成的workspace来进行项目管理。
现在在项目中引用刚才添加的第三方库的头文件,执行编译操作,果断成功!
项目中集成了Cocoapods,可以使用Cocoapods管理第三方库公共库,类似AFNetworking、MJExtension等,同时使用私有Pod管理MyFoundation等私有组件。并且建立私有Pod管理单品类业务。因此主App中Pods分为三部分:
- 开源第三方库
- MyApp私有组件库(Foundation、Catogery等)
- 单品类业务(MyApp主要涉及酒店模块、机票模块等)