参考网址 http://guides.cocoapods.org
成文的环境
- mac os 10.14
- cocoapod 1.5.3
- xcode 10.1
制作Pod库
私有Pod库制作
https://mp.csdn.net/mdeditor/86520080#
公有Pod库制作(略)
和私有Pod库制作过程基本一致,区别在于公有库需要发布到CocoaPods
发布使用CocoaPods Trunk方式。
Podspec 语法
一个简单的Podspec文件
# 语法检查 pod lib lint xxx.podspec
Pod::Spec.new do |spec|
spec.name = 'Reachability' #库名字
spec.version = '3.1.0' #版本号
spec.license = {
:type => 'BSD' } #许可协议
spec.homepage = 'https://github.com/tonymillion/Reachability' #主页
spec.authors = {
'Tony Million' => 'tonymillion@gmail.com' } #作者
spec.summary = 'ARC and GCD Compatible Reachability Class for iOS and OS X.' #简介
spec.source = {
:git => 'https://github.com/tonymillion/Reachability.git', :tag => 'v3.1.0' } #仓库地址
spec.source_files = 'Reachability.{h,m}' #参与编译的文件
spec.framework = 'SystemConfiguration' #依赖的系统库(指苹果的系统库)
end
创建一个Pod库的说明规范(Specification)
Pod::Spec
Pod::Spec.new do |spec| # 创建一个Pod::Spec变量,名字spec
spec.name = 'Reachability' #库名字
#其他说明规范
end
多平台
ios
osx
或 macos
tvos
watchos
必需规范
定义库名字
name
属性
Pod::Spec.new do |spec|
spec.name = '你的库名字'
end
定义库版本号
version
属性
版本号遵循 semantic versioning
Pod::Spec.new do |spec|
spec.version = '1.2.3' #版本号
end
定义作者信息
单个作者
author
属性
Pod::Spec.new do |spec|
spec.author = '作者名字'
end
多个作者
authors
属性
Pod::Spec.new do |spec|
spec.authors = '作者名字A','作者名字B','作者名字C'
end
作者邮箱
#一个作者
Pod::Spec.new do |spec|
spec.author = {
'作者A' ==> 'aaaa@mail.com'}
end
#多个作者
Pod::Spec.new do |spec|
spec.authors = {
'作者A' ==> 'aaaa@mail.com',
'作者B' ==> 'bbbb@mail.com'
}
end
许可协议
license
属性
知名的许可协议
Pod::Spec.new do |spec|
spec.license = 'MIT'
end
指定许可协议文件
Pod::Spec.new do |spec|
spec.license = {
:type => 'ABC', :file => 'MIT-LICENSE.txt' }
end
简短的许可协议内容
Pod::Spec.new do |spec|
spec