构建一个自己的库供其它人使用是不是一件很酷(苦)的事情,通过CocoaPods 可以快捷的构建自己库,并向全世界分享你的成果
有两种方式:
- 使用命令
pod lib create mylib
创建一套完整的 Pod 库模版 - 使用命令
pod spec create mylib
创建Podspec
的配置文件
官网说明:https://guides.cocoapods.org/syntax/podspec.html#specification
Pod::Spec.new do |spec| spec.name = 'libminipng' spec.version = '0.0.5' spec.license = { :type => 'MIT' } spec.homepage = 'http://www.ichochy.com' spec.authors = { 'iChochy' => 'iChochy@qq.com' } spec.summary = 'Swift library that compresses PNG' spec.source = { :git => 'https://github.com/iChochy/libminipng.git', :tag => 'v3.1.0' } spec.source_files = 'libminipng/Classes/**/*' spec.public_header_files = "libminipng/Classes/libminipng.h","libminipng/Classes/minipng.h" end
spec.source
:检索库的远程地址
支持指定方式:
:git => :tag, :branch, :commit, :submodules :svn => :folder, :tag, :revision :hg => :revision :http => :flatten, :type, :sha256, :sha1, :headers
spec.source_files
: 库的源代码
通过正则方式匹配,如:
"JSONKit.?" #=> ["JSONKit.h", "JSONKit.m"] "*.[a-z][a-z]" #=> ["CHANGELOG.md", "README.md"] "*.[^m]*" #=> ["JSONKit.h"] "*.{h,m}" #=> ["JSONKit.h", "JSONKit.m"] "*" #=> ["CHANGELOG.md", "JSONKit.h", "JSONKit.m", "README.md"]
spec.public_header_files
: 公共头文件
如果OC混编,可以在公共头文件中引入OC文件,如同桥接文件
注:如果未指定公共头文件,那么source_files
中的所有文件将被视为公共头文件
pod lib lint //本地验证 pod spec lint //在线验证,检查外部仓库和相关标签
如果出现警告(WARN
) ,可以添加--allow-warnings
忽略警告
如果出现错误(ERROR
),可以添加 --verbose
,查看详情
- 注册账号:
pod trunk register iChochy@qq.com 'iChochy' --description='macbook'
- 激活账号:
完成注册后进入邮件点击激活链接进行激活操作 - 查看账号:
pod trunk me
pod trunk push [NAME.podspec]
将您的Podspec部署到Trunk,并公开发布pod repo push REPO [NAME.podspec]
将您的Podspec部署到私有仓库
注:如果出现警告(WARN
) ,可以添加--allow-warnings
忽略警告
邮箱:iChochy@qq.com
网站:https://www.ichochy.com
源文:https://www.ichochy.com/blog/2019/09/01/CocoaPods构建自己的pod库.html
来源:博客园
作者:iChochy
链接:https://www.cnblogs.com/ichochy/p/11609277.html