iOS CocoaPods公有库

avatar
奇舞团移动端团队 @奇舞团

级别: ★★☆☆☆
标签:「iOS」「CocoaPods」「公有库」
作者: MrLiuQ
审校: QiShare团队

上一篇介绍了:CocoaPods简介及基本使用,本篇将介绍一下CocoaPods公有库的创建和使用。

一、什么是公有库?

在我们开发中,经常会用到一些第三方库(比如AFNetworkingSDWebImage等等),我们通过pod install命令,把第三方库导入自己的项目中(具体操作见:上一篇)。而这些第三方库就是公有库。

二、为什么用公有库?

如果我们也想把自己创作的 组件 / 框架 开源出去,给更多的开发者使用,那我们就要把自己的pods发布到CocoaPods里。这样,当别人在用pod search xxx时,就会search到你开源的 组件 / 框架 了。

而一个开源组件/框架,一般需要包含以下几个文件:

  • 组件/框架 源码
  • LICENSE:开源许可证(一般选择MIT);
  • README.md:仓库说明(Markdown格式);
  • cocoaPodsName.podspec:CocoaPods的描述文件(很重要)。

三、公有库的创建及使用

1. 首先,在GitHub上创建好仓库。

注意点:
1> 仓库名(Repository name)不可重名。
2> 开源许可证(LICENSE)一般默认选择MIT

2. 通过终端、sourceTreeGitHub Desktop等工具,将项目clone到本地。
3. cd进入项目工程目录,创建podsName.podspec文件。

使用命令:pod spec create xxx

4. 编辑podsName.podspec文件。

使用命令:vi xxx.podspec

备注:

属性含义
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

更多字段解释:可看官方文档

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命令)

结果如图:image


关注我们的途径有:
QiShare(简书)
QiShare(掘金)
QiShare(知乎)
QiShare(GitHub)
QiShare(CocoaChina)
QiShare(StackOverflow)

推荐文章:
iOS 签名机制
iOS 扫描二维码/条形码
iOS 了解Xcode Bitcode
iOS 重绘之drawRect
奇舞周刊