cocoaPods私有仓库详解

作者: 纪小衰 | 来源:发表于2016-09-23 17:34 被阅读314次

    转载请注明出处:
    http://www.jianshu.com/p/8f61a7749855
    作者:纪小衰

    当我们每天使用cocoaPods的时候,我们把自己的源码放入到git上面时,是否想过让我们自己编写的代码支持cocoapods。这样可以让更多的人使用我们编写的代码,也可以让自己编写的类库可以很方便地导入和同步。

    这篇文章主要介绍一些有关搭建cocoaPods私有仓库的理论,对于具体怎样搭建可以参照我的另一篇文章:《创建cocoaPods私有仓库》

    当我们使用pod install命令的时候,为什么可以直接把代码或者资源直接导入到我们的工程的呢。其实在我们的本地有目前支持cocoapods所有项目的信息,我们可以打开~/.cocoapods/repos/Specs目录,目录里面有很多的文件夹(加载的速度有可能有点慢)。在这些文件夹中我们可以找到大名鼎鼎的AFNetworking,进入文件夹我们可以看到很多的版本号,我们进入最新的3.1.0,进入后会发现有一个AFNetworking.podspec.json文件,这是一个json格式的文件,打开后看到下面的代码。

    AFNetworking.podspec.json
    我们可以很清楚的看到有关AFNetworking的信息,比如git地址,开源协议,简介等。有了这些数据cocopod就可以找到需要同步的资源的位置。在Specs文件夹下的所有索引信息其实都是从cocoapods的官方git主分支https://github.com/CocoaPods/Specs上同步下来的。整个cocoapods的运作过程可以参照下图。

    其实制作cocoapods仓库的步骤无非就两步:
    1.制作podspec索引文件,文件中放入需要同步的资源的git或者svn地址;
    2.把制作的podspec索引文件推到官方的git远程主分支上。

    如果我们的库是新建的,那么别的使用者的本地分支上是没有对应的.podspec.json文件的,也就相应获取不到。这个时候使用者需要使用下面的命令去远程重新获取更新本地分支。

    pod repo update   
    

    Tips:

    1.想同步自己的项目到cocoapods,必须把自己的资源储存到git或者svn的服务器上。在制作podspec文件时填写对应的数据源。

    s.source     = { :git => "git地址"}
    s.source     = { :svn => "svn地址"}
    

    2.其实我们也可以不用cocoaPods的specs主分支,如果是一个较为大型的公司,可以考虑创建自己公司的specs私有分支,也就是说我们把podspec索引文件推到私有的git服务器上,使用者更新本地分支的时候拉取私有的specs仓库,这样可以让公司的所有代码统一管理。详细的介绍过段时间再更新吧。。。

    相关文章

      网友评论

      • 安澈_y:最上面那个代码日记的图好好看。:scream::scream::scream:

      本文标题:cocoaPods私有仓库详解

      本文链接:https://www.haomeiwen.com/subject/mivtyttx.html