前兩篇博文介紹了如何搭建第三方庫和遠(yuǎn)端私有庫,今天在此記錄下對這些庫的一些操作注意事項签财。
一平委、升級CocoaPods庫
升級之前先查看下當(dāng)前私有庫的版本號厚满。
$ pod search QYBaseComponent
(1). 修改庫的源碼.
此處只是演示使用仅孩,我就添加一個Macro
文件吧托猩。
(2). 修改 .podspec文件.
// 加大版本號
s.version = '0.3.0'
(3). 上傳源碼,并打上tag.( tag
必須和 s.version
對應(yīng))
執(zhí)行 git add .
辽慕, git commit -m '...'
等等指令提交代碼京腥;
執(zhí)行 git tag 0.3.0
, git push --tags
打上tag溅蛉;
(4). 本地校驗 .podsepc文件.
$ pod lib lint
(5). 遠(yuǎn)程校驗 .podsepc文件.
$ pod spec lint
(6). 上傳 .podSpec文件到遠(yuǎn)端私有庫.
// QYSpec :遠(yuǎn)程索引倉庫庫的名稱
// QYBaseComponent.podspec : 我們的.podSpec文件
$ pod repo push QYSpec QYBaseComponent.podspec
到此我們的遠(yuǎn)端私有庫就更新成功了公浪!(更新第三方庫和這個如出一轍,此處不再累贅船侧。)
二欠气、為CocoaPods庫添加子模塊
升級完CocoaPods庫之后,雖然我們在源碼中創(chuàng)建了文件夾進(jìn)行分類镜撩,但是在安裝完私有庫之后预柒,所有的文件都跑到一個文件夾里了,非常亂袁梗。
再來看下AFNetworking的庫宜鸯,井然有序。
下面將實現(xiàn)類似AFNetworking這種效果:
(1). 編輯 .podsepc文件.
添加Category
遮怜、 Macro
子模塊:
# ss:可以為任意字母
s.subspec 'Category' do |ss|
# 資源路徑
ss.source_files = 'QYBaseComponent/Classes/Category/**/*'
# 如果該子模塊中需要依賴'AFNetworking'庫淋袖,其他模塊不需要,可以把依賴添加在子模塊內(nèi)锯梁,
# 這樣在不使用到該模塊情況下即碗,'AFNetworking'庫不會被安裝,可以節(jié)省項目空間
ss.dependency 'AFNetworking'
end
s.subspec 'Macro' do |ss|
ss.source_files = 'QYBaseComponent/Classes/Macro/**/*'
end
// 加大版本號
s.version = '0.4.0'
(2). 后面的步驟就和升級CocoaPods庫一樣了涝桅,不再闡述拜姿。
驗證一下:
$ pod search QYBaseComponent
修改
Podfile
文件,先引入 沒有AFNetworking
庫 的子模塊冯遂,更新pod
source "https://github.com/CocoaPods/Specs.git"
source "https://git.coding.net/Joeyoung_/QYSpec.git"
platform :ios, '8.0'
target 'Demo' do
use_frameworks!
pod 'QYTimer'
pod 'QYBaseComponent/Macro'
end
再次添加依賴了AFNetworking
庫的子模塊蛤肌,更新pod
source "https://github.com/CocoaPods/Specs.git"
source "https://git.coding.net/Joeyoung_/QYSpec.git"
platform :ios, '8.0'
target 'Demo' do
use_frameworks!
pod 'QYTimer'
pod 'QYBaseComponent/Macro'
pod 'QYBaseComponent/Category'
end
到此該功能演示完畢壁却。
三、給CocoaPods庫添加資源文件
請參考這里:給 Pod 添加資源文件