基于SVN的Pod庫制作流程
1.創(chuàng)建.podspec文件
使用命令
pod spec create 要?jiǎng)?chuàng)建的庫名
# 例:pod spec create MyProject
因?yàn)槭撬接袀}庫,需要單獨(dú)將.podspec文件單獨(dú)放入一個(gè)文件夾中, 比如文件夾名為Specs, 其目錄結(jié)構(gòu)如下:
Specs
├── xxx.podspec
2. 配置 .podspec文件
可根據(jù)需要添加或修改相關(guān)配置:
Pod::Spec.new do |s|
s.name = 'MyProject'
#注意!!!-----此版本號需要與遠(yuǎn)程tag版本保持一致
s.version = '1.0.0'
s.summary = 'A short description of MyProject.'
s.description = <<-DESC
#注意!!!------此處配置svn遠(yuǎn)程庫地址
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'
#配置項(xiàng)目文件路徑
s.source_files = 'MyProject/Classes/**/*'
#是否基于三方Pod依賴,如依賴于AFNetworking
s.dependency 'AFNetworking'
end
然后提交本地代碼倉庫到SVN遠(yuǎn)程倉庫,包括封裝的代碼以及包含.podspec的文件夾
3. Pod庫上傳
- 首先安裝SVN
brew install subversion
- 由于HomeBrew鏡像在國外速度會很慢,一般將HomeBrew鏡像地址替換為中科院的,可查看文章結(jié)尾[附錄](#6. 附錄); 或 前往官網(wǎng)
- 添加SVN的索引倉庫之前需要為CocoaPods安裝svn插件,之后才可以添加發(fā)布倉庫
sudo gem install cocoapods-repo-svn
- 配置SVN倉庫賬號密碼
svn ls 你的倉庫遠(yuǎn)程路徑
###查看你所在SVN地址的項(xiàng)目, 如: svn ls http://xxx/svn/MyFramework
然后會提示你輸入賬號密碼,配置后你的pod才能下載項(xiàng)目
- 添加pod-svn倉庫 (需要進(jìn)入.podspec所在文件夾下)
pod repo-svn add Spec文件夾名 Spec文件夾遠(yuǎn)程地址
- 驗(yàn)證.podspec文件(由于我們的.podspec文件和項(xiàng)目不在一個(gè)路徑,因此使用pod lib lint本地驗(yàn)證會失敗,因此這里我們選擇遠(yuǎn)程驗(yàn)證pod spec lint)
pod spec lint --allow-warnings --use-libraries
如果想要本地驗(yàn)證成功,需要將.podspec文件放在項(xiàng)目代碼同級文件夾中,列如我們的項(xiàng)目文件是MyProject, 則目錄應(yīng)為:
MyProject
├── MyProject
│ ├── Assets
│ └── Classes
│ ├── MyProject.h
│ └── MyProject.m
├── MyProject.podspec
├── LICENSE
├── README.md
然后執(zhí)行以下命令即可
pod lib lint --allow-warnings --use-libraries
- 驗(yàn)證成功后發(fā)布pod-svn倉庫:
pod repo-svn push 庫名 文件名.podspec
這里就已經(jīng)發(fā)布成功了,后續(xù)如需要修改或刪除Pod私有庫可以使用用下列命令:
更新pod-svn倉庫:pod repo-svn update Spec文件名
刪除pod-svn倉庫:pod repo-svn remove Spec文件名
至此基于SVN的Pod庫就上傳完畢,但供別人使用的話還需要按下面說明中做配置
4. Pod install 之前所需配置
項(xiàng)目Podfile文件中需要添加如下配置:
##########Podfile#########
# 私有庫都需要添加此地址
source 'https://github.com/CocoaPods/Specs.git'
# 下載SVN上的Pod庫需要添加如下SVN插件配置
plugin 'cocoapods-repo-svn', :sources => [
'http://你的.podspec文件所在文件夾地址'
如:'http://xxx/XXXSpecs'
]
##########Podfile#########
5. 總結(jié)
創(chuàng)建基于SVN的Pod庫相比之下還是比基于Git的繁瑣許多,主要原因就是Mac系統(tǒng)上移除了對于SVN的相關(guān)支持,Cocoapods也是,都需要單獨(dú)下載支持SVN的終端插件,導(dǎo)致整個(gè)過程相對復(fù)雜一些,望此篇可以幫助到需要的人
6. 附錄
國內(nèi)HomeBrew一鍵安裝:
/bin/bash -c "$(curl -fsSL https://gitee.com/wejectchan/brew/raw/master/install.sh)"
國內(nèi)HomeBrew一鍵卸載:
/bin/bash -c "$(curl -fsSL https://gitee.com/wejectchan/brew/raw/master/uninstall.sh)"