基于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)"

你可能感兴趣的:(基于SVN的CocoaPods库制作)