概述
目前原生項目使用的ASPublicLib1.0沒有做版本控制归露,且每次升級會更新所有的庫膀钠,版本不能回退或不能單獨回退,為了做到“精細化”處理竹勉,2.0版本中做了以下改動:
1飞盆、各基礎(chǔ)庫單獨podspec文件管理,包括版本控制
2次乓、pod文件中通過指定pod name及pod version的方式進行管理
具體步驟
1吓歇、安裝插件
cocoapods-repo-svn
2、指定基礎(chǔ)庫路徑
pod repo-svn add?ASPublicLib?https://www.svn.com:8443/svn/研發(fā)四部/projects/P99基礎(chǔ)框架/05APP開發(fā)框架/IOS公用庫/cocoapods-svn/tags
注:開發(fā)版本庫在trunk目錄票腰,修復問題在branch目錄城看,發(fā)布版本庫為tag目錄,版本號按2.0.1杏慰、2.0.2遞增
3测柠、整理基礎(chǔ)庫
新庫地址
https://www.svn.com:8443/svn/研發(fā)四部/projects/P99基礎(chǔ)框架/05APP開發(fā)框架/IOS公用庫/cocoapods-svn
trunk目錄下新建目錄,比如:ASFont
依次新建Classes缘滥、Frameworks轰胁、Libraries、Resources目錄朝扼,拷貝相關(guān)文件到相應(yīng)目錄
4赃阀、創(chuàng)建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
#發(fā)布主頁
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/研發(fā)四部/projects/P99基礎(chǔ)框架/05APP開發(fā)框架/IOS公用庫/cocoapods-svn/", :tag => "#{s.name}/#{s.version}" }
s.source_files = "Classes", "Classes/*.{h,m}"
s.requires_arc = true
end
5擎颖、發(fā)布
tag新建目錄榛斯,按照tag => "#{s.name}/#{s.version}"格式新建目錄
6、更新repo
?~/.cocoapods/repos/ 下拉取過庫肠仪,執(zhí)行命令更新代碼:
cd ~/.cocoapods/repos/
pod repo-svn update ASPublicLib
7肖抱、在原生項目根目錄,創(chuàng)建或更新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/研發(fā)四部/projects/P99基礎(chǔ)框架/05APP開發(fā)框架/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