CocoaPods 二进制打包
优质
小牛编辑
137浏览
2023-12-01
CocoaPods 二进制打包
cocoapods-package
处理过程:
- 通过
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-generate
与cocoapods-package
是同一个作者开发, 它提供了构建工程的能力,和 cocoapods-packager
相比缺失了构建 framework
功能。但它有个好处,不依赖 git
,可以直接根据提供的 podspec
文件在本地生成对应的工程。生成工程后,可以自定义打包脚本,使用 xcodebuild
相关命令构建对应二进制。开发 Cocoapods Plugin
的时候,配置上 Gemfile
依赖即可使用 cocoapods-generate
: