作为iOS开发者,如果你使用的事cocoapods管理三方库,那么必然会使用到podfile文件,首先我们先介绍下Podfile文件是什么?
引用官方的一句话
The Podfile is a specification that describes the dependencies of the targets of one or more Xcode projects.
大概意思是:Podfile文件是一种规则描述,用于描述一或多个Xcode工程的targets之间的依赖。
写法上,简单举个例子:
target 'MyApp'
pod 'AFNetworking', '~> 1.0'
当然,它还有很多很复杂的写法,非常的灵活。这也是这种配置文件所带来的优势,你可以灵活的控制你的依赖库。
但是,这种方式也存在一些弊端,例如:
1、因其过于灵活,导致使用CI/CD中使用代码处理其依赖时,需要处理多种情况,不利于代码编写
2、没有设置开发依赖,导致生产依赖和开发依赖放在一块,依赖管理比较混乱。
那么基于这样的优缺点,我们是否能取其精华去其糟粕,从中摸索出一个更好的东西接管依赖?
有的,这里介绍下podfileDep来接管依赖,具备如下特点:
1、使用yaml文件配置依赖,PodfileDep使用ruby语言解析依赖,制定一定的编写规则,灵活又不失规范
2、新增本地依赖管理逻辑,可用作开发依赖使用
3、二方库和三方库分开,方便管理
4、yaml文件的方便解析特性,有助于CI/CD对于依赖的增删改查
5、pod install时日志输出更多的依赖库信息,例如相比上次新增的依赖库、减少的依赖库、间接被依赖的组件,未被使用的依赖库
6、pod install时帮助检查应该使用<>导入而使用""导入的头文件
如图展示可能未被使用到的组件和import导入可能错误的代码头文件
如何使用yaml配置依赖库?如图
如何接入和使用?
1、执行 gem install podfileDep,安装本依赖库
2、podfile改造
3、 执行 pod install