概述
目前原生项目使用的ASPublicLib1.0没有做版本控制,且每次升级会更新所有的库,版本不能回退或不能单独回退,为了做到“精细化”处理,2.0版本中做了以下改动:
1、各基础库单独podspec文件管理,包括版本控制
2、pod文件中通过指定pod name及pod version的方式进行管理
具体步骤
1、安装插件
cocoapods-repo-svn
2、指定基础库路径
pod repo-svn add ASPublicLib https://www.svn.com:8443/svn/研发四部/projects/P99基础框架/05APP开发框架/IOS公用库/cocoapods-svn/tags
注:开发版本库在trunk目录,修复问题在branch目录,发布版本库为tag目录,版本号按2.0.1、2.0.2递增
3、整理基础库
新库地址
https://www.svn.com:8443/svn/研发四部/projects/P99基础框架/05APP开发框架/IOS公用库/cocoapods-svn
trunk目录下新建目录,比如:ASFont
依次新建Classes、Frameworks、Libraries、Resources目录,拷贝相关文件到相应目录
4、创建podspec文件,参考1.0版本写法
Pod::Spec.new do |s|
#库名称
s.name = "ASFont"
#库版本号
s.version = "0.0.2"
#概要
s.summary = "A short description of ASFont."
#描述
s.description = <<-DESC
DESC
#发布主页
s.homepage = "http://EXAMPLE/ASFont"
#证书类型
s.license = "MIT"
#作者信息
s.author = { "xufeng" => "ah.xufeng@aisino.com" }
#支持的最低平台
s.platform = :ios, "8.0"
#下载地址
s.source = { :svn => "https://www.svn.com:8443/svn/研发四部/projects/P99基础框架/05APP开发框架/IOS公用库/cocoapods-svn/", :tag => "#{s.name}/#{s.version}" }
s.source_files = "Classes", "Classes/*.{h,m}"
s.requires_arc = true
end
5、发布
tag新建目录,按照tag => "#{s.name}/#{s.version}"格式新建目录
6、更新repo
~/.cocoapods/repos/ 下拉取过库,执行命令更新代码:
cd ~/.cocoapods/repos/
pod repo-svn update ASPublicLib
7、在原生项目根目录,创建或更新Podfile文件
source 'https://github.com/CocoaPods/Specs.git'
# Uncomment the next line to define a global platform for your project
platform :ios, '8.0'
target 'testPod' do
plugin 'cocoapods-repo-svn', :sources => [
'https://www.svn.com:8443/svn/研发四部/projects/P99基础框架/05APP开发框架/IOS公用库/cocoapods-svn/tags'
]
pod 'ASFont','0.0.1'
pod 'ASToolKit','0.0.2'
end
8、pod install
备注:
1、pod repo list
查看所有的repo
2、pod repo remove XXXX
删除指定的repo