一, 什么是公有库?
在我们开发中, 经常会用到一些第三方库(比如 AFNetworking,SDwebImage 等等), 我们通过 pod install 命令, 把第三方库导入自己的项目中(具体操作见: 上一篇 https://www.jianshu.com/p/c2c24b9a6018 ). 而这些第三方库就是公有库.
二, 为什么用公有库?
如果我们也想把自己创作的 组件 / 框架 开源出去, 给更多的开发者使用, 那我们就要把自己的 pods 发布到 CocoaPods 里. 这样, 当别人在用 pod search xxx 时, 就会 search 到你开源的 组件 / 框架 了.
而一个开源组件 / 框架, 一般需要包含以下几个文件:
组件 / 框架 源码;
LICENSE: 开源许可证(一般选择 MIT);
README.md: 仓库说明(Markdown 格式);
cocoaPodsName.podspec
:CocoaPods 的描述文件(很重要).
三, 公有库的创建及使用
1. 首先, 在 GitHub 上创建好仓库.
注意点:
1> 仓库名 (Repository name) 不可重名.
2> 开源许可证 (LICENSE) 一般默认选择 MIT.
2. 通过终端, sourceTree,GitHub Desktop 等工具, 将项目 clone 到本地.
3. cd 进入项目工程目录, 创建 podsName.podspec 文件.
使用命令: pod spec create xxx
4. 编辑 podsName.podspec 文件.
使用命令: vi xxx.podspec
备注:
属性 | 含义 |
---|---|
http://s.name | 公有库 - 名称 |
s.version | 公有库 - 版本号 |
s.summary | 公有库 - 简介 |
s.description | 公有库 - 详细介绍 |
s.homepage | 公有库 - 主页(一般是 GitHub 地址) |
s.author | 公有库 - 作者 |
s.license | 公有库 - 开源协议 |
s.source | 公有库 - GitHub 地址及版本号 |
s.source_files | 公有库 - 对外共享的. h 和. m 文件 |
s.requires_arc | 公有库 - 是否支持 ARC |
更多字段解释: 可看官方文档 http://guides.cocoapods.org/syntax/podspec.html .
5. 编辑完成后, 验证 podsName.podspec 文件.
使用命令: pod lib lint [xxx.podspec] [--allow-warnings] [--verbose]
PS:
--allow-warnings: 忽略工程中的警告.
--verbose: 查看控制台详细信息.
成功后如图:
完成后, 把文件 push 到 GitHub 上.
6. 创建 Release 版本信息:
方式一: 使用命令行 使用命令 Git tag x.x.x, 查看 tags, 使用命令 Git tag -l 使用命令, Git push --tags 推到 GitHub 上.
方式二: 使用官网
7. 注册 Trunk
先看看有没有注册, 使用命令: pod trunk me. 若已注册, 则本步直接跳过.
若未注册, 则:
打开终端, 使用命令:
pod trunk register EMAIL [YOUR_NAME]
. 如图:
这时你的邮箱会收到一封邮件: 点击后出现:
这时, 回终端使用命令 pod trunk me 会出现:
8. 再次校验(可忽略, 下一步会自动校验)
使用命令: pod spec lint ["your podspec name"] [--allow-warnings]
9. 发布公有库
使用命令: pod trunk push ["xxx.podspec"] [--allow-warnings]
10. 完成, 可用
pod search podsName
搜索使用.
使用命令: pod search QiCocoaPods, 如果没搜到, 更新一下本地的索引库即可.(删掉~/ 资源库 / Caches/CocoaPods/search_index.JSON, 再重新使用 search 命令)
结果如图:
来源: https://juejin.im/post/5c247d626fb9a049d97542bc