Cocoapods创建私有库——初级版

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sacrifice123/article/details/73179629

一、 首先简单了解下cocoapods的机制

cocoapods有个远程索引库,索引库下放着框架的描述信息:框架的名称,框架的版本号,框架的描述文件(.spec),开发者上传的代码都是位于索引库的远程地址下。当你进行pod初始化(pod setup)时,会把远程索引库下载到本地,即生成一个本地的索引库。当我们搜索某个框架时(pod search xxx),其实在本地库里索引,此时真正的内部操作是检索一个检索文件(默认生成的文件名称叫做search_index.json, 文件默认是被隐藏起来的,可以使用指令defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder打开隐藏文件,打开文件的路径为:/Users/admin/Library/Caches/CocoaPods),最后通过pod install 安装你所需的框架。

二、Cocoapods创建私有库创建的过程

1.本地编写好你所需上传的框架。

2.在github上新建一个仓库

这时我们的git远程仓库就建立好了

3.把写好的框架传到git远程仓库

如果你的git仓库里有文件,比如 LICENSE 文件,这时必须先pull拉取下:

git pull origin master

然后执行推到远端:

git push origin master

这时说明已经传成功了, 但是此时我们的框架仅仅被git托管而已,我们并不能通过pod search xx来搜索到,此时我们就必须创建描述文件(后缀为.podspec)。

三、创建描述文件

pod spec create podSacrifice

描述文件创建完成后必须修改里面的内容,这些都是我们检索库的关键字:

pod trunk register [email protected] '你的昵称 --verbose

这时在邮箱里验证下,然后推倒远端,在推之前必须打个标签,这个标签跟你的版本号一致,别人就跟你的tag来找到对应的版本号:

git tag

git tag '0.0.1'

git push --tags

提交完之后 可以用下面的命令行验证
pod spec lint 验证远程(这个其实是本地与远程一起验证,可能会出现一系列的报错,一一解决就好)
pod lib lint 验证本地

pod trunk push podSacrifice.podspec

至此说明你已经成功上传的你框架了!但是此时你用pod search xxx可能还是搜索不到,你的私有库,

错误信息为:[!] Unable to find a pod with name, author, summary, or description matching ‘xxxx’

解决方案为:

  • 我们pod setup成功后会生成~/Library/Caches/CocoaPods/search_index.json文件。
  • 终端输入rm ~/Library/Caches/CocoaPods/search_index.json
  • 删除成功后再执行pod search xxxx
  • 此时终端输出:Creating search index for spec repo 'master'.. Done!,稍等片刻就会有出现相关类库。

猜你喜欢

转载自blog.csdn.net/sacrifice123/article/details/73179629