podspec语法
s.name*
和podspec文件名相同。
s.name = 'AKTalkKit'
s.version*
库版本号。
s.name = '0.1.0'
s.cocoapods_version
规范支持的CocoaPods版本。
s.cocoapods_version **=** '> 0.36'
s.summary*
pod库简介,最多140个字符。
s.summary = 'AKTalkSDK 使用kit'
s.description
pod库的描述,比summary详细。
s.description = <<-DESC
TODO: Add long description of the pod here.
DESC
s.homepage*
pod库主页地址。
s.homepage = 'http://gitee.com/jingluoguo/AKTalkKit'
s.license*
pod库的许可证。
除非源文件包含一个名为LICENSE.* or LICENCE.*的文件,否则许可证文件的路径或通常用于许可证类型的公告完整文本,必须指定。
许可证文件可以没有文件扩展名也可以是txt, md, 或是markdown
# 多许可证支持
s.license = ["MIT", "GPL-3.0"]
# 指定许可证文件路径
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.authors*
库维护人员的名称和电子邮件地址,不是podspec维护者
# 多个作者,以及其邮箱
spec.authors = { 'jingluo' => 'jingluoonline@163.com',
'don' => 'don@163.com' }
s.source*
pod库依赖的源代码或二进制资源地址。
# 1. 基础语法(推荐)。tag也可以指定为s.version.to_s
s.source = { :git => 'https://gitee.com/jingluoguo/AKTalkKit.git', :tag => '0.1.0' }
# 2. 指定分支
s.source = { :git => "https://gitee.com/jingluoguo/AKTalkKit.git", :branch => "develop" }
# 3. 简写形式( tag/Branch 可选)
s.source = "https://gitee.com/jingluoguo/AKTalkKit.git@v1.0.0"
:git
: 必须,Git 仓库地址(HTTPS 或 SSH)。:tag
: 可选,指定版本标签(如v1.0.0
)。:branch
: 可选,指定分支(如main
)。:submodules
: 可选,若仓库包含子模块需设为true
。
s.social_media_url
开发者或项目的社交媒体链接。
s.social_media_url = "https://twitter.com/username"
s.xxx.deployment_target
设置平台支持的最低部署版本,xxx为ios、osx等等。
s.ios.deployment_target = '10.0'
s.source_files
pod库的源文件。
# 适配Classes所有文件
s.source_files = 'AKTalkKit/Classes/**/*'
s.libraries
pod库指定需要链接的系统库或第三方静态库。
# 多个库,分割
s.libraries = 'c++', 'resolv.9', 'resolv'
s.frameworks
pod库需要链接的系统动态框架。
# 多个库,分割
s.frameworks = 'UIKit', 'MapKit'
s.dependency
pod库声明对其他Pod的依赖关系。
# 单个
s.dependency 'AFNetworking', '~> 2.3'
# 多个,或者,分割
s.dependency 'Flutter'
s.dependency 'AFNetworking', '~> 2.3'
s.platform
pod库支持的平台,如果支持多个平台就需要搭配deployment_target
使用。
# 支持OS系统
spec.platform = :osx, '10.8'
# 支持ios系统
s.platform = :ios, '11.0'
s.pod_target_xcconfig
pod库自定义 Pod 的 Xcode 构建配置。
# 定义成模块 DEFINES_MODULE YES
# 在iOS模拟器构建时排除i386架构 EXCLUDED_ARCHS[sdk=iphonesimulator*]
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
s.swift_version
指定支持的swift版本
# 单个版本(推荐)
s.swift_version = "5.8"
# 多版本支持(数组形式)
s.swift_version = ["5.5", "5.8"]
# 使用语义化版本范围(需 CocoaPods ≥ 1.12)
s.swift_version = "~> 5.5"