开始有几个知识点需要了解下:
从上一篇文章CocoaPods(二)公有库的创建 中,我们知道了cocoapods的原理,其实私有库的原理也很简单,就是添加一个私有的Specs.git文件,自己做的第三方库更新到这里面。
使用pod repo文件查看现有索引库。
1、添加远程索引Specs库
自己远程在git上创建一个私有的库XXXSpecRepo,然后将这个远程的私有版本仓库添加到本地:
pod repo add XXXSpecRepo https://git.xxx/xxxx/XXXSpecRepo.git
查看在 Finder 目录 ~/.cocoapods/repos, 可以发现增加了一个 XXXSpecRepo 的储存库。
//图片
2、创建git第三方库(同公有)
在 GitHub 上创建一个公开项目,项目中必须包含这几个文件:
- LICENSE:开源许可证;
- README.md:仓库说明;
- 你的代码;
- MyPoject.podspec: CocoaPods 的描述文件,这个文件非常重要;
重点讲解创建.podspec文件
.podspec是用 Ruby 的配置文件,描述你项目的信息,根目录下
pod spec create MyPoject
然后就创建成功了,打开后可以按着上面说的修改,填写相应信息;具体字段含义可以上网查询。
接下来,验证此重要 .podspec 文件的格式是否正确,
pod lib lint(--allow-warnings) //验证本地
pod spec lint //验证远程
3、打tag(同公有库)
将代码提交到远程,并且打上tag,tag号要和podspec中一致; 标签相当于将你的仓库的一个压缩包,用于稳定存储当前版本;
$ git tag -a 1.0.0 -m '标签说明'
$ git push origin --tags
4、发布.podspec
根目录下:
pod repo push XXXSpecRepo MyPoject.podspec
这时会对远程仓库进行验证,成功的话就会在 ~/.cocoapods/repos/XXXSpecRepo中发现新增的仓库描述信息了
//图片
若是出现错误信息
[!] The repo is not clean
更新下我们的版本库,再继续上传即可。
pod repo update XXXSpecRepo
pod repo push XXXSpecRepo MyPoject.podspec 的过程就是
验证 MyPoject.podspec 文件 拉取远程版本库 XXXSpecRepo 添加 MyPoject.podspec 到版本库中 push 到远程
这里是私用库提交成功的过程
说明发布成功后就可以pod search到了。 如果search不到,可以更新下缓存:
rm ~/Library/Caches/CocoaPods/search_index.json
5、使用集成
使用私人pod库的需要在Podflie中添加这句话,指明你的索引库地址;若有还使用了公有的pod库,需要把公有库地址也带上;
source ‘https://git.xxx/xxxx/XXXSpecRepo.git’
source ‘https://github.com/CocoaPods/Specs.git’
最后pod install使用
6、更新维护
当你的代码更新维护后,就需要重写发布,流程是:
- 更新MyPoject.podspec中的版本号
- 打上标签推送远程
- pod trunk push MyPoject.podspec 推送到pods仓库
暂时先看这个,回头再写 iOS开发: CocoaPods远程私有仓库的维护升级