CocoaPods 二进制打包

优质
小牛编辑
134浏览
2023-12-01

CocoaPods 二进制打包

cocoapods-package

处理过程:

  1. 通过pod package xxx.podspec解析podspec, 根据podspec内指定的版本去git找对应资源下载
  2. 执行xcodebuild构建framework

存在弊端:

  • 当选择 .a形式作为产物时,我们podspec中所指定的.h并不会被正确拷贝到目标文件夹。
  • 该组件对 subspec 的处理较为暴力,会将多个subspec合并为一个,例如我一个组件库,iPhone 工程需要引用SubSpecAiPad工程需要引用 SubSpecB,在使用该组件打包时,会将 SubSpecASubSpecB 合并为一个 framework/.a,这种情况显然不是我们所需要的,更为合理的做法是可通过配置去设置,是否将 SubSpec进行合并或拆分。
  • cocoapods-packager 已经停止维护,在对 Cocoapods 新特性或者 Swift 的支持上无法达到同步更新。

cocoapods-generate

cocoapods-package是同一个作者开发, 它提供了构建工程的能力,和 cocoapods-packager 相比缺失了构建 framework 功能。但它有个好处,不依赖 git,可以直接根据提供的 podspec 文件在本地生成对应的工程。生成工程后,可以自定义打包脚本,使用 xcodebuild 相关命令构建对应二进制。开发 Cocoapods Plugin 的时候,配置上 Gemfile 依赖即可使用 cocoapods-generate