美文网首页
在svn托管上制作cocoapods私有仓库管理2018版

在svn托管上制作cocoapods私有仓库管理2018版

作者: 大钟哥Rogue | 来源:发表于2019-05-30 16:28 被阅读0次

    原创博客地址,欢迎来搞!!!

    通常,我们都是用git来管理仓库,常见的就是在github上制作pod库,当然,在github上只有公共库是免费的,私有仓库是收费的,而gitlab是可以免费使用私有pod库(不只有github,还有gitlab,分清楚,,,),由于公司项目是使用svn托管,所以笔者在这里,希望把pod库托管在公司的svn服务器上,而cocoapods是支持svn的,所以,来吧,搞起,不废话!

    1.1 准备工具

    需要svn,cocoapods,cocoapods-repo-svn 。

    svn:mac上推荐使用cornerstone可视化界面工具

    cocoapods:读者自己去安装,ios开发使用到的三方管理库

    cocoapods-repo-svn:cocoapods的svn管理插件

    我就从 cocoapods-repo-svn 说起,开始下面...

    1.2 cocoapods-repo-svn

    roguedeMacBook-Pro:~ rogue$ gem install cocoapods-repo-svn
    然后安装成功完毕!

    1.3 在svn上创建私有库

    在cornerstone创建一系列文件夹,先看图片

    image

    我来解释一下(以下目录分为手动创建和自动创建,手动使用 ++ 表示,自动用==表示):

    XhlLibraries(++:一级目录)

    • XhlProjects(++:存储执行代码文件,就是存放我们pod下来之后可见的.h/m文件)
      • XhlLocalTool(++:创建的一个库文件,类似于AFNetworking,MBProgressHUD)
        • branches(==:分支)
        • tags(==:标记)
        • trunk(==:主干)
    • XhlSpecs(++:存储各个版本,我们pod可以指定不同的版本,pod 'MBProgressHUD', '~> 1.1.0',类似这个)

    看见上面这个结构了吗,请结合这个图查看,当手动创建了XhlLocalTool之后,需要勾选cornerstone上的这个按钮,让它自动创建trunk、branches、tags这3个文件夹

    image

    分割线------------------------------------------------------------------------------------------

    现在,我们继续,把这个文件check out出来在本地。

    XhlLibraries->XhlProjects->trunk

    检出之后,我们打开终端,把目录切换在trunk文件文件夹所在的根目录

    在trunk目录下,命令操作

    roguedeMacBook-Pro:~ rogue$ pod spec create XhlSpecs

    该命令会创建一个 XhlSpecs.podspec文件,这个文件很重要

    接下来,我们手动穿件一个项目和一个文件夹,最后的目录结构如下图

    image

    我来解释下,在命令行操作之后,只会有一个文件,就是 XhlLocalTool.podspec文件,而其他的 "XhlLocalToolDemo"和"XhlLocalToolDemo.xcodeproj"是我刚创建的一个工程文件,而文件夹"XhlLocalTool"也是我新创建的一个文件夹,里面的"XhlObject.h/m"文件,则是我创建的私有文件,就是说,pod install之后,会导入这两个文件到被依赖的项目里,

    这里配置XhlLocalTool.podspec文件

    大家可以把我的这个写法配置进去,不过要修改4个地方

    • s.version = 0.0.4 (每次升级修改版本,都需要修改此标签,就是pod 'MBProgressHUD', '~> 1.1.0')
    • s.source = { :svn => "svn://xxx/xxx/xxx/xxx/XhlLibraries/XhlProjects/XhlLocalTool", :tag => "#{s.version}" } (这里配置svn的路径,由于是公司文件路径,所以我使用xxx来替代前面的路径,而读者只需要读取后面的有用的路径就可以了)
    • s.frameworks = "UIKit", "Foundation"(这里一般写入依赖的系统库文件)
    • s.requires_arc = true(这里配置arc模式)
    • 关于其他的命令,大家可以去官网查看

    接下来,就是用cornerstone进行commit操作,把刚才的代码,提交到服务器上!!!

    image

    1.4 打标签 tag

    现在,在svn服务器上,可以查看到我们刚才commit的代码,因为我们是在trunk下操作的,现在,我们需要打标签,所以打标签,就是选中 右键选中trunk->tag->输入版本,版本就是我们刚才提交的s.version

    接下来,看图

    image

    看 "0.0.4",我们刚才打的标签(0.0.1、0.0.2、0.0.3读者不用关心,是笔者打的历史版本)

    打了标签之后,我们验证是否通过,给出以下测试代码

    在trunk目录下

    出现最后一行的

    就表示成功了,通过验证

    1.5 创建私有库

    还是在trunk目录下,执行命令

    注意这里,路径是 XhlSpecs,不是XhlProjects

    执行完这上面的代码,再执行下面的方法,把trunk里的代码commit到XhlSpecs下

    上面的命令执行完成之后,刷新下svn,可以看到以下的目录,在XhlSpecs里,会有版本号

    image

    **1.6 podfile配置 **

    好了,到这里,就算完了,最后就讲解下如何配置我们的podfile文件,我再这里直接贴出代码吧,比较简单

    当然,别人要使用你的私有库,也需要配置 cocoapods-repo-svn 插件。而且,必须要求在终端上登录账号,不然会提示安装私有库没有权限,如何登录svn,只需要随便登录一个svn查看文件就可以了

    roguedeMacBook-Pro:~ rogue$ svn ls svn://xxx/xxx/xxx/xxx

    相关文章

      网友评论

          本文标题:在svn托管上制作cocoapods私有仓库管理2018版

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