基于SVN的CocoaPods库制作

基于SVN的Pod库制作流程


1.创建.podspec文件

使用命令

pod spec create 要创建的库名
# 例:pod spec create MyProject

因为是私有仓库,需要单独将.podspec文件单独放入一个文件夹中, 比如文件夹名为Specs, 其目录结构如下:

Specs
├── xxx.podspec

2. 配置 .podspec文件


可根据需要添加或修改相关配置:

Pod::Spec.new do |s|
  s.name             = 'MyProject'
  #注意!!!-----此版本号需要与远程tag版本保持一致
  s.version          = '1.0.0'
  s.summary          = 'A short description of MyProject.'
  s.description      = <<-DESC
  #注意!!!------此处配置svn远程库地址
  s.source           = { :svn => 'http://xxx/MyProject'}
  
  #基于tag版本的话source可以配置如下,如版本格式为1.0.0的如下即可
  #若为v1.0.0需在前面添加字符"v",改为tag=> "v#{s.version}"
  #s.source           = { :svn => 'http://xxx/MyProject', :tag=> "#{s.version}"}
  
  s.ios.deployment_target = '9.0'
  #配置项目文件路径
  s.source_files = 'MyProject/Classes/**/*'
  #是否基于三方Pod依赖,如依赖于AFNetworking
  s.dependency 'AFNetworking'
end

然后提交本地代码仓库到SVN远程仓库,包括封装的代码以及包含.podspec的文件夹

3. Pod库上传


  1. 首先安装SVN
  brew install subversion 
  • 由于HomeBrew镜像在国外速度会很慢,一般将HomeBrew镜像地址替换为中科院的,可查看文章结尾[附录](#6. 附录); 或 前往官网
  1. 添加SVN的索引仓库之前需要为CocoaPods安装svn插件,之后才可以添加发布仓库
sudo gem install cocoapods-repo-svn
  1. 配置SVN仓库账号密码
svn ls 你的仓库远程路径
###查看你所在SVN地址的项目, 如: svn ls http://xxx/svn/MyFramework

然后会提示你输入账号密码,配置后你的pod才能下载项目

  1. 添加pod-svn仓库 (需要进入.podspec所在文件夹下)
pod repo-svn add Spec文件夹名 Spec文件夹远程地址
  1. 验证.podspec文件(由于我们的.podspec文件和项目不在一个路径,因此使用pod lib lint本地验证会失败,因此这里我们选择远程验证pod spec lint)
pod spec lint --allow-warnings --use-libraries 

如果想要本地验证成功,需要将.podspec文件放在项目代码同级文件夹中,列如我们的项目文件是MyProject, 则目录应为:

MyProject
├── MyProject
│   ├── Assets
│   └── Classes
│       ├── MyProject.h
│       └── MyProject.m
├── MyProject.podspec
├── LICENSE
├── README.md

然后执行以下命令即可

pod lib lint --allow-warnings --use-libraries
  1. 验证成功后发布pod-svn仓库:
pod repo-svn push 库名 文件名.podspec

这里就已经发布成功了,后续如需要修改或删除Pod私有库可以使用用下列命令:

更新pod-svn仓库:pod repo-svn update Spec文件名
删除pod-svn仓库:pod repo-svn remove Spec文件名

至此基于SVN的Pod库就上传完毕,但供别人使用的话还需要按下面说明中做配置

4. Pod install 之前所需配置


项目Podfile文件中需要添加如下配置:

##########Podfile#########
# 私有库都需要添加此地址
source 'https://github.com/CocoaPods/Specs.git'
# 下载SVN上的Pod库需要添加如下SVN插件配置
plugin 'cocoapods-repo-svn', :sources => [
'http://你的.podspec文件所在文件夹地址' 
如:'http://xxx/XXXSpecs'
]
##########Podfile#########

5. 总结


创建基于SVN的Pod库相比之下还是比基于Git的繁琐许多,主要原因就是Mac系统上移除了对于SVN的相关支持,Cocoapods也是,都需要单独下载支持SVN的终端插件,导致整个过程相对复杂一些,望此篇可以帮助到需要的人

6. 附录


国内HomeBrew一键安装:

/bin/bash -c "$(curl -fsSL https://gitee.com/wejectchan/brew/raw/master/install.sh)"

国内HomeBrew一键卸载:

/bin/bash -c "$(curl -fsSL https://gitee.com/wejectchan/brew/raw/master/uninstall.sh)"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,013评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,205评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,370评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,168评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,153评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,954评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,271评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,916评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,382评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,877评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,989评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,624评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,209评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,199评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,418评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,401评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,700评论 2 345

推荐阅读更多精彩内容