项目中我们经常用CocoaPods去下载第三方,如何通过同样的方式下载到自己上传的框架呢?本文就这个问题,做一番简单阐述。
解决问题之前我们需要对cocoapods图解机制有个大致的了解。
先上一张图:
从上图可以看出上传一个自定义的框架之前需要搞一个目标框架的描述文件(.spec文件)。
-
spec 文件
工作的前提是有个自己的框架,可以随便上传一个工程用来练手。假如这个工程已经存在,名字是 RAC-MVVM。这里用到了 git 命令 ,不会的同学可以参考这边文章。
首先进入到 RAC-MVVM 所在目录,执行命令:
pod spec create RAC-MVVM
结果:
Specification created at RAC-MVVM.podspec
表明工程的描述文件已经创建成功。在目录下截图:
这里已经创建好了podspec文件,下一步就是对这个文件进行编辑。具体编辑哪些信息呢?这里先提供一个远程库中的三方spec文件内部结构图:
可以参考这个里面提示的字段进行修改,部分修改截图:
修改字段差不多就这么多了。
修改完成之后,我们可以给这个框架打个标签:
git tag '0.0.1'
然后
git push tags
接下来看怎么上传到远程库?
分为两步:
-
身份验证
CocoaPods Trunk是一种身份验证和CocoaPods API服务。 要将新的或更新的库发布到CocoaPods以进行公开发布,您需要在Trunk中注册并在当前设备上拥有有效的Trunk会话。 您可以在博客上了解Trunk的历史和发展,以及您自己或团队的私人吊舱。
CocoaPods Trunk从CocoaPods 0.33开始提供。 pod trunk下的一系列命令可自动部署和管理Podspecs。 您可以随时运行pod trunk [command] --help来查看内联帮助。
使用邮箱注册
$ pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'
// 修改上述命令
$ pod trunk register 222222222@qq.com 'wangxiaoer' --verbose
注册以后,打开注册使用的邮箱。单击电子邮件中的链接,Trunk会向您发送以验证Trunk帐户与当前计算机之间的连接。 您可以通过运行 pod trunk me
列出您的会话。
邮箱的内容如下:
Hi wangxiaoer,
Please confirm your registration with CocoaPods by clicking the following link:
// 下面的内容需要在网址中打开
https://trunk.cocoapods.org/sessions/verify/8b6d2e48
If you did not request this you do not need to take any further action.
Kind regards, the CocoaPods team
按照上述操作,就会出现下面的界面:
表明已经注册完成!!
-
提交
其实在上述的截图中已经看出了如何提交的指令:
$ pod trunk push RAC-MVVM.podspec
有可能终端会报错如下:
根据箭头提示修改本地的spec文件,然后更新到远程仓库。
修改如下:
修改之后,从新执行:
git add .
git commit -m"信息"
然后再次执行:
$ pod trunk push RAC-MVVM.podspec
tips:
(这里要注意:上述代码是从本地仓库push到远程仓库,所以做了修改要提交到本地仓库)。
操作完成!!进入终端,像搜其他牛逼三方一样去搜一下自己的三方,试试看!
瞬间打脸啊。。。。哪里搞错了?
在cocoapods图解机制这篇文章中已经说了,pod search xxx
是从本地仓库的 索引文件中去搜索的!我们只是将spec文件传到了远程仓库,本地仓库并没有啊,所以,所以,所以搜不到。删除本地的spec文件,然后终端中执行指令:
pod setup
更新一下本地仓库就OK了!!!