准备工作
在进行下面工作之前,请确保你做了下面三件事情:
1. 创建或者已经有了 github 账号.
2. 了解和熟悉如何在 github 上面创建 Repository.
3. MacOS 上面安装了 Cocoapods.
如果你还没有使用 Cocoapods, 建议看看 Mac OSX 10.11.1+ 安装 Cocoapods 这篇博客.
在博客 iOS 项目: 打造本地 pod 库 里面有介绍如何打造本地的 pod 库,不需要借助任何仓库就可以完成,操作简单,适合项目组内使用。
今天给大家分享如何将代码开源并放到 pod 库中,供别人使用。这种方式属于打造公共(Public repo)仓库, 任何人都可以搜索到你贡献的库并使用你的库。后面会跟大家分享如何打造私有(Private repo),敬请期待。
这篇博客是基于一个实际例子 MZInsetLabel 来说明的,期待与优秀的你交流讨论。
创建 Repository 并完善项目
1. 在 Github 上面创建 Repository,取名为 MZInsetLabel.
2. 将该工程 clone 到本地磁盘.
3. 写代码,这里我只写了 MZInsetLabel.h | .m 文件.
4. 创建 podspec 文件.
使用下面命令,即可产生该文件。
|
|
在当前目录会生成 MZInsetLabel.podspec
文件。按照文件规范和实际情况填写即可,如果不知道怎么填写,可以在 Github 上面找一个开源项目参考即可。
注意: Tag 版本号不要错误.
最终内容如下:
|
|
项目检测
检查该 podspec 文件,执行下面命令
|
|
–verbose 可以输出更加详细的内容
|
|
正确的话, 你可以看到下图如所示的内容:
在检测的过程中,如果有一些警告导致无法验证通过,可以使用 --allow-warnings
参数规避这些 warning,但我还是建议大家尽量将 warning 修改好。
|
|
pod lib lint *.podspec
是只从本地验证你的 pod 能否通过验证.
pod spec lint*..podspec
是从本地和远程验证你的 pod 能否通过验证.
大家可自行选择这两种方式。
添加项目到 Github Repository
将本地的代码 push 到 Github 的 Repository, 就是刚才创建的 MZInsetLabel.
|
|
在你的 Github Repository 上面创建一个 Release 作为 Tag(0.1.0版本),如图所示:
推送到 cocoapods
1. 注册 trunk
pod trunk register 你的邮箱 ‘用户名’ –description=’简单描述’
完整命令如下:
|
|
2. 打开邮箱, 激活邮件, 点击链接激活
3. 检查注册信息
执行命令如下:
|
|
4.添加到 cocoapods
执行下面命令, 即可.
|
|
成功的效果图:
验证使用
1. 检查是否可以搜索到
|
|
如果搜索不到, 请执行
|
|
2. 在项目中可以使用该项目
|
|
然后在你的测试项目中,执行 pod install
即可。
可能遇到的麻烦
1. 执行 pod trunk push *.podspec
时, 好久没反应?
这种情况, 大多数都是因为你的网络不给力造成的, 如果你确定你的网络没问题, 那么请翻墙.
2. 执 行 pod trunk push *.podspec
时报错?
报错信息:
|
|
这个错误是因为, 更新了 xcode8 之后不再支持 ios7 的缘故.
解决方案(我的), 升级 cocoapods.
|
|
3. pod trunk push 失败
失败提示信息类似:
|
|
解决方案: 更新 gem
|
|
Git 命令行操作
1. 向远程 Repository 添加 tag
|
|
执行后,可以看到 Github Repository 上会多一个对应的 tag 版本。
2.删除本地 Tag
|
|
如:
|
|
3. 删除远程 Tag
|
|
如:
|
|
在 Github 上面如果你不小心打错了 Release, 然后删除该 Release.
你会发现, tag 无法删除.使用上面方式妥妥的解决.
如果你删除 tag,想重新打一个相同的 tag,需要先删除本地的 tag,否则会失败。
扫码关注,你我就各多一个朋友~