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

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

通常,我们都是用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版)