iOS下 创建远程cocoapods私有库的套路
给你讲一个笑话:
路人: 你是做什么的?
iOS开发: iOS开发.
路人: iOS 不是已经存在吗?还开发什么? 你会修电脑吗? 我苹果手机坏了你可以帮我看看吗? 我苹果电脑坏了,你可以帮我看看吗?
iOS开发: ... ...
路人: ... ...
人生总会有低潮和失败,总会有迷茫和不得志,小伙伴们不要气馁,装逼的路上我们一路手拉着手,哈哈,扯远了 ... ...
装逼正式开始:
首先需要明白一个思路: 括号里面的是名字,你可以自己随便起
1, 需要在服务端创建两个库 一个是存放远端代码的仓库( IJSPageController) 另一个就是你存放podspec文件的索引仓库(IJSPluginSpec)
2, 本地索引仓库 (IJSPluginSpec)
正文:
本文介绍通过 码云的方式
1, 在码云上创建上面说的两个仓库, 创建方式和在码云上创建项目一样的
image.png2, 将远程私有索引库添加到本地的cocoapods索引库中
pod repo add IJSPluginSpec git@gitee.com:*******/IJSPluginSpec.git
IJSPluginSpec 索引仓库的名字
git@gitee.com:*****/IJSPluginSpec.git 远程私有库地址
这个过程中间可能会出现错误: 大体的意思就是你没有添加私钥 到本地
我这里没有重现,因为我之前就已经添加过,大家可以百度一下生成一对要是,私钥添加到
就是下面图的这个鬼东西
image.png
这个是远端服务器的添加
image.png
3, 接下来就是创建本地代码仓库
如果你阅读过我之前写的 如何创建远端公有库 ,下面的步骤非常简单,我不做具体描述了
参考: https://www.jianshu.com/p/0d7e6ef25c3b
1. 需要先 trunk 注册一个这样的账号
pod trunk register 邮箱地址 '用户名' --verbose
pod trunk me
执行完第一句话你会收到一份邮件,你打开以下其他不需要操作,再执行第二个就可以
2, 创建本地代码库
pod lib create IJSPageController
按照提示加就ok 可以创建测试项目 pod项目等等配置,本人建议通过这种方式创建,因为这么玩,你就不需要创建 podspec文件,并且他里面给你文件路径都写好了,你需要做的就是替换一下你自己写的代码就ok
我的路径就是下面这样
image.png
class下方的就是你需要保存到远端的代码库
接下来我们简单配置一下 podspec文件
image.png
3, 接下来我们来验证一下本地的podspec文件写好了没有
三者选一:
pod lib lint --verbose
pod lib lint --verbose --allow-warnings
pod lib lint --verbose --use-libraries --allow-warnings(有警告,依赖静态framework情况下)
image.png
这个就是通过
4,将本地的代码仓库关联到远端的代码仓库
git remote add origin 地址
5, 添加tags,必须保证 spec文件的版本和这个 tag统一,否则会找不到对应的版本文件
$ git add -A && git commit -m "Release 0.1.0"
$ git tag '0.1.0'
$ git push --tags
这一步最好保证本地的代码仓库的代码已经完整的提交到远端服务器上
6, 验证线上的spec文件的合法性
三者选其一
pod spec lint --verbose
pod spec lint --verbose --use-libraries
pod spec lint --verbose --use-libraries --allow-warnings
image.png
7, 将我们本地的索引库需要提交到远端服务器的私有索引库
pod repo push IJSPluginSpec IJSPageController.podspec
IJSPluginSpec 这个是你本地私有库的文件的名字
IJSPageController.podspec 这个是你创建的podspec文件
8 检查一下我们本地的私有库搞好了没有
pod repo
结果;
image.png
注意这个 URL 后面pod 需要用到这个
上传的任务结束了啊,和远端公开库有点差别这里
9, 注意这里podfile 文件需要重新编写和之前不一样了 这一步非常关键,注意注意
image.png至此所有远端私有库创建 以及测试大功告成
这个我们自己测试通过了,目前还没有找小白鼠测试,哈哈明天我找公司的小伙伴测试下,哈哈,这么晚了今天装逼到此结束