Github上创建自己的IOS公有库
1. 创建一个空的仓库.
访问github.com,创建一个空的仓库,填写RepositoryName、Description等基本信息。
勾选"Initialize this repository with a README"则会自动创建README.md。
"Add a license"可选择MIT License,则会自动创建LICENSE文件。
![](https://img.haomeiwen.com/i10145759/0c85ca972eb016d5.jpg)
2. 创建podspec文件
podspec全称为pod specification,是用来描述这个pod的信息文件。
打开终端
输入 cd "your project path",进入到project文件位置。
输入pod spec create "your project name",自动创建podspec文件。
![](https://img.haomeiwen.com/i10145759/da3734c0751c5cd7.jpg)
3. 修改podspec文件
自动创建的podspec文件有很多注释解释, 如果是第一次创建podspec,可以看一下详细介绍。详细内容可以查看cocoapods.org或者github.com/CocoaPods。
注: 如果是创建framework,才需要设置s.public_header_files,否则不要设置s.public_header_files。 因为设置了s.public_header_files会自动编译成framework,在pod trunk push时会报找不到"xxxxx.h"的错误。
![](https://img.haomeiwen.com/i10145759/feeb776bb2dbfb4b.jpg)
![](https://img.haomeiwen.com/i10145759/03d9cef29076df46.jpg)
4. 验证podspec文件
终端输入 pod lib lint "your podspec name" --allow-warnings 来进行验证。
--allow-warnings是用来忽略一些不必要的警告。
"your podspec name" passed validation即意味着验证通过,如果不通过则对应问题进行修改。
![](https://img.haomeiwen.com/i10145759/e4f8321b3cd50e45.jpg)
5. 将已经编写好的库文件上传到github
6. 修改LICENSE文件
![](https://img.haomeiwen.com/i10145759/2f040902ae7cf374.jpg)
7. 创建你的第一个Release版本
![](https://img.haomeiwen.com/i10145759/5e6b3513cb94bb99.jpg)
8. 注册Trunk
注册:终端输入 pod trunk register "your email address" "your github name" --verbose,输入后会收到一份邮件
![](https://img.haomeiwen.com/i10145759/9546fa60ce6e1b33.jpg)
![](https://img.haomeiwen.com/i10145759/7d22bd02800b8728.jpg)
![](https://img.haomeiwen.com/i10145759/df2418d1bd540a20.jpg)
9. 再次校验podspec是否有错误
终端输入 pod lib lint "your podspec name"--allow-warnings
![](https://img.haomeiwen.com/i10145759/05a0f6e964a1a017.jpg)
10.把仓库推送到CocoaPods的远程仓库
终端输入 pod trunk push "your podspec name" --allow-warnings,这个需要一点时间。
![](https://img.haomeiwen.com/i10145759/c9ca180330c40379.jpg)
11.验证结果
终端输入 pod search "your pod",如果无法搜到并出现 Unable to find a pod with name, author, summary, or description matching 'your pod', 是因为本地仓库没有更新索引,删除旧的索引重新获取一遍即可解决问题。
删除本地仓库索引:rm ~/Library/Caches/CocoaPods/search_index.json,删除后重新pod search "your pod"就可以正常的看到了。
如果删除索引仍无法搜到刚发布的库,终端输入pod repo update,更新一下就可以解决。
![](https://img.haomeiwen.com/i10145759/bd91626fe20239f2.jpg)
![](https://img.haomeiwen.com/i10145759/2934cdda96f788ce.jpg)