現(xiàn)在網(wǎng)上Cocoapods創(chuàng)建私有庫(kù)的文章很多龙誊,我主要是因?yàn)楣拘枨蟾Ю瑢?duì)代碼進(jìn)行抽離,減少重復(fù)代碼和其他同事不知道有這個(gè)方法或控件自己又寫(xiě)了一套趟大。
也是我自己對(duì)代碼進(jìn)行抽離的一個(gè)總結(jié)鹤树。
1、創(chuàng)建私有 Spec Repo
Spec Repo
其實(shí)類(lèi)似一個(gè)容器逊朽,就是Pods
的索引魂迄。里面裝著所有的公開(kāi)的Pods,當(dāng)使用Cocoapods后,他就會(huì)被clone到本地的~/.cocoapods/repos目錄下惋耙。
在進(jìn)pod install
或者 pod update
的時(shí)候就會(huì)去這個(gè)repo中進(jìn)行檢索捣炬,如果檢索到對(duì)應(yīng)的pod,會(huì)讀取該P(yáng)od的podspec從而進(jìn)行安裝
我們可以在碼云上創(chuàng)建一個(gè)私有的git
使用命令創(chuàng)建本地spec 庫(kù)
pod repo add [Private Repo Name] [碼云git HTTPS clone URL]
pod repo add MyCocapodsSpecs https://gitee.com/private_repository_development/MyCocapodsSpecs.git
[Private Repo Name] 本地倉(cāng)庫(kù)
[碼云git HTTPS clone URL] git地址
2绽榛、創(chuàng)建Pod項(xiàng)目工程文件
這里建議通過(guò)CocoPods
的官方命令來(lái)進(jìn)行Pod
項(xiàng)目的創(chuàng)建湿酸,以測(cè)試項(xiàng)目BaseLabel
為例:
現(xiàn)在本地創(chuàng)建好文件夾(文件名可隨意起,自己使用方便即可灭美,不過(guò)最好規(guī)范)推溃,用于存放 Pod項(xiàng)目工程文件,下面以我創(chuàng)建的為例進(jìn)行后續(xù)操作
使用命令創(chuàng)建Pod項(xiàng)目工程文件 pod lib create BaseLabel
届腐,然后等待終端反應(yīng)铁坎,不出意外會(huì)出現(xiàn)下面幾個(gè)問(wèn)題:
之后會(huì)自動(dòng)打開(kāi)項(xiàng)目。
接下來(lái)就是在你的BaseLabel文件夾下添加自己的內(nèi)容犁苏,將自己的模塊部分放在BaseLabel/Classes下硬萍,然后cd到Example文件夾下執(zhí)行pod update命令尚猿,之后打開(kāi)項(xiàng)目芬首,就能在BaseLabel/ Pods/BaseLabel文件夾下看到自己添加的組件了侍瑟,之后需要將項(xiàng)目推送到遠(yuǎn)端倉(cāng)庫(kù)捕仔,同樣需要先自己去git服務(wù)商哪里創(chuàng)建一個(gè)私有倉(cāng)庫(kù),然后cd到BaseLabel目錄昵宇,執(zhí)行如下操作:
git add -A
git commit -a -m "init library"
git remote add origin https://gitee.com/private_repository_development/Baselabel.git
git push origin master
或者用工具提交git
做完這些之后開(kāi)始編輯podspec文件爷光,填上對(duì)應(yīng)的信息柱徙。
本地驗(yàn)證
'pod lib lint'
第一次驗(yàn)證都會(huì)報(bào)錯(cuò)誤的雹食,而如圖的錯(cuò)誤就是說(shuō):遠(yuǎn)程倉(cāng)庫(kù)沒(méi)有創(chuàng)建版本標(biāo)簽tag
添加tag:
git tag
git tag 0.1.0
git push --tags
因?yàn)閜odspec文件獲取版本控制的項(xiàng)目需要tag號(hào)畜普,所以還要搭上一個(gè)tag
git tag -m "first release" 0.1.0
git push --tags #推送tag到遠(yuǎn)端倉(cāng)庫(kù)
然后就是在終端輸入驗(yàn)證命令,確保該P(yáng)odspec有效:
pod spec lint
3群叶、向Spec Repo提交podspec
提交命令:pod repo push MyCocapodsSpecs BaseLabel.podspec --sources='https://github.com/xxxx/MyCocapodsSpecs.git,https://github.com/CocoaPods/Specs.git' --use-libraries --allow-warnings
成功后輸入命令 pod search BaseLabel 就可以搜索到你創(chuàng)建的私有庫(kù)咯~
在Podfile文件中吃挑,內(nèi)容如下:
source 'https://github.com/CocoaPods/Specs.git' # 官方庫(kù)
source 'https://gitee.com/private_repository_development/MyCocapodsSpecs.git' # 私有庫(kù)
platform :ios ,'8.0'
target 'test' do
pod 'CocoaLumberjack'
pod 'FMDB'
pod 'BaseLabel','~> 0.1.0'
end
4钝荡、版本迭代和更新
只需要正常提交版本到 git 倉(cāng)庫(kù), 并且一定要打 tag 標(biāo)記,然后更改 .podspec 中的 version 和 其他需要修改的信息 然后再次驗(yàn)證儒鹿,通過(guò)之后提交即可~
總結(jié):
私有庫(kù)
1、創(chuàng)建私有庫(kù)
pod lib create 名字
2几晤、提交遠(yuǎn)程倉(cāng)庫(kù)
git remote add origin 地址
git push origin master
3约炎、編輯podspec
4、本地驗(yàn)證
pod lib lint --use-libraries --allow-warnings
5蟹瘾、打tag
6圾浅、向Spec Repo提交podspec