通常,我们都是用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(==:主干)
- XhlLocalTool(++:创建的一个库文件,类似于AFNetworking,MBProgressHUD)
- 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操作,把刚才的代码,提交到服务器上!!!
image1.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
网友评论