CocoaPods generate - ShenYj/ShenYj.github.io GitHub Wiki
处理过程:
- 通过
pod package xxx.podspec解析podspec, 根据podspec内指定的版本去git找对应资源下载 - 执行
xcodebuild构建framework
存在弊端:
- 当选择
.a形式作为产物时,我们podspec中所指定的.h并不会被正确拷贝到目标文件夹。 - 该组件对
subspec的处理较为暴力,会将多个subspec合并为一个,例如我一个组件库,iPhone工程需要引用SubSpecA,iPad工程需要引用SubSpecB,在使用该组件打包时,会将SubSpecA与SubSpecB合并为一个framework/.a,这种情况显然不是我们所需要的,更为合理的做法是可通过配置去设置,是否将SubSpec进行合并或拆分。 -
cocoapods-packager已经停止维护,在对Cocoapods新特性或者Swift的支持上无法达到同步更新。
与cocoapods-package是同一个作者开发, 它提供了构建工程的能力,和 cocoapods-packager 相比缺失了构建 framework 功能。但它有个好处,不依赖 git,可以直接根据提供的 podspec 文件在本地生成对应的工程。生成工程后,可以自定义打包脚本,使用 xcodebuild 相关命令构建对应二进制。开发 Cocoapods Plugin 的时候,配置上 Gemfile 依赖即可使用 cocoapods-generate: