SuperAPI AI 工具集

cocoapods-subspecs-organization

通用与其它

查看项目

更新于 10-16 04:32

技能介绍

用途:本技能面向 CocoaPods 库作者,讲解如何通过 subspecs 把复杂 pod 拆分为逻辑模块,使用户可按需安装,减少不必要依赖,提升可维护性。

主要能力:支持将核心功能与可选功能分离;每个 subspec 可有自己的 source_files、frameworks、libraries、resource_bundles;subspec 之间可声明依赖(如 dependency 'MyLibrary/Core'),也可引入外部依赖(如 Alamofire);可通过 default_subspecs 指定默认安装的模块(单个或多个);支持平台特定配置(如 ios.frameworks = 'UIKit'、osx.frameworks = 'AppKit');支持嵌套 subspec(如 Networking/REST)。

使用方式:在 podspec 中用 spec.subspec 'Core' do |core| ... end 定义模块,主 spec 可只设 default_subspecs 而不放源文件。用户安装时可用 pod 'MyLibrary' 安装默认模块,用 pod 'MyLibrary/Core' 安装特定模块,或 pod 'MyLibrary', :subspecs => ['Core', 'Networking'] 组合安装;嵌套模块用 pod 'MyLibrary/Networking/REST'。校验可用 pod lib lint。

适用场景:核心层加可选功能、分层架构(Foundation/Data/Domain/Presentation)、协议加多实现(UserDefaults/Keychain/SQLite)、跨平台共享核心与 iOS/macOS 专属模块。

限制与注意:避免过多过细的 subspec;禁止循环依赖;防止源文件重复;依赖链过深时应考虑扁平化。资料未提供收费、价格或平台兼容性细节。