最终实现效果
执行$pod search xxx
1 | -> HBKitTools (0.0.3) |
申请pod账号
使用$pod trunk me
来查看自己的账号信息,如果没有账号的话需要先注册一下:
注册指令使用$pod trunk register xxx@qq.com "<username>"
, 然后登录邮箱验证即可
邮箱验证完, 再次终端确认一下:
1 | $pod trunk me |
创建并配置podspec文件
创建指令$pod spec create <filename>
;
这里提前说一下,最好先使用$pod search <filename>
查一下filename
库名是否已有人创建, 避免发布的时候报错又得重新走一遍流程.
然后根据项目文件结构配置podspec文件, 如:
1 | Pod::Spec.new do |spec| |
关键部分文件结构如下:
1 | ├── HBKitTools |
一些配置字符解释, 可以参考 podspec配置相关
1 | 文件匹配 |
验证podspec文件
在包含podspec文件夹下, 执行 $pod lib lint
或者 $pod lib lint xxx.podspec
验证通过一般最后会有提示xxx passed validation.
这个时候的验证出现的问题, 主要是一些路径的配置错误, 如: spec.source_files 或者子路径,常见提示- ERROR | [iOS] file patterns: The source_files pattern did not match any file.
发布podspec文件
先用git指令把代码提到github远端, 并打上标签版本号
1 | $git add * |
当然了,在打标签的时候可以使用指令$git tag
或者 $git tag -l
去查看已有标签; 另外部分时候标签操作不够简明清晰, 建议使用source tree去操作.
发布执行 $pod trunk push
或者 $pod trunk push --allow-warnings
查看发布的开源库
使用$pod search <filename>
或者$pod search <filename> --simple
立即查看? 但是实际上部署到cocoapods上去还需要一段时间生效, 另外你的本地也可能会存在缓存问题.
这个时候通过 https://cocoapods.org/pods/filename
去直接访问库的详细信息, filename即为开源库名称. 访问可能有时候会页面空白,请刷新重试
常见问题
1.项目名称在cocoapod已经有人创建过了
1 | [!] You (xxx@xx.com) are not allowed to push new versons for this pod.the owners of this pod are xxx@xx.com. |
解决方案: 改名重头来过
2.本地的git tag跟podspec的版本不对应;
1 | ERROR | [iOS] unknown: Encountered an unknown error (Pod::DSLError) during validation. |
查看podspec配置和git tag列表
1 | spec.version = "0.0.2" #podspec文件配置 |
解决方案: 使用source tree
对标签进行修正 (命令行操作远端可参考: Git中tag的用法及作用)
3.提示无远端分支
1 | - ERROR | [iOS] unknown: Encountered an unknown error ([!] /usr/bin/git clone ... —depth 1 —branch 0.0.1 ... |
解决方案: 检查本地代码和标签并推到远端
4.pod trunk push
卡死问题
1 | CDN: trunk Relative path downloaded: CocoaPods-version.yml, save ETag: "5fab3b6a-38" |
解决方案: 上面卡死问题尝试删除本地文件 .cocoapods/repos/trunk, 以及Spec_Lock文件
5.报错[!] Unable to find a specification for `xxx`
1 | ➜ xxx ✗ pod install |
解决方案: 问题分析, 由于删除master库导致, 包括Podfile文件source 'https://github.com/CocoaPods/Specs.git'
; 更换Podfile库源'https://cdn.cocoapods.org/'
相关参考
pod trunk 几个常用指令 参考细说 pod trunk
- 本文作者: 醉疏狂
- 本文链接: https://hubin97.github.io/2019/04/09/制作CocoaPods公有库/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!