一、更新遠程倉庫
二譬重、修改描述文件并更新索引庫
三、更新使用
四罐氨、第三方依賴
五臀规、子庫Subspecs
一、更新遠程倉庫
1栅隐、修改組件類文件
將修改完的文件重新添加到Classes
文件夾下
2以现、push代碼更新
進到本地倉庫的位置,執(zhí)行如下操作:
git add .
git commit -m '更新描述'
git push origin master
3约啊、版本更新
版本更新著這一步非常重要,為更新索引庫做準(zhǔn)備
git tag -a '新版本號' -m '注釋'
git push --tags
二佣赖、修改描述文件并更新索引庫
1恰矩、修改Sepc
打開你的xx.podspec文件,將原本的版本號改為0.2.0憎蛤,與剛剛的tag保持一致
s.version = '0.2.0'
2外傅、驗證遠程Spec
pod spec lint --private
3纪吮、更新索引庫
pod repo push 索引庫名稱 xxx.podspec
三、更新使用
// --no-repo-update 不更新本地索引庫
// 因為剛剛已經(jīng)自己手動更新過了萎胰,所以這里我們選擇跳過更新
pod update --no-repo-update
四碾盟、第三方依賴
在xx.podspec文件進行修改,例如依賴AFNetworking
s.dependency 'AFNetworking', '~> 3.2.0'
問題
組件庫LGBase
有兩個文件夾Category
和 Cache
;只有Cache
需要依賴AFNetworking
,如果某個項目只需要Category
此時pod 整個LGBase
技竟,平白無故多了一個無用的文件夾還有依賴庫冰肴;
解決方案
使用子庫Subspecs
五、子庫
1榔组、子庫格式
s.subspec '子庫名稱' do |別名|
end
因為這里要分離出子庫了熙尉,所以s.source_files
和s.dependency
就不能這么使用了,需要我們在子庫里分別指定搓扯,所以我們直接把原來的s.source_files
和s.dependency
都注釋掉检痰。寫法參考如下
# s.source_files = 'LXFBase/Classes/**/*'
# s.dependency 'SDWebImage', '~> 4.3.3'
s.subspec 'Cache' do |c|
c.source_files = 'LXFBase/Classes/Cache/**/*'
c.dependency 'SDWebImage', '~> 4.3.3'
end
s.subspec 'Category' do |c|
c.source_files = 'LXFBase/Classes/Category/**/*'
end
s.subspec 'Tool' do |t|
t.source_files = 'LXFBase/Classes/Tool/**/*'
end
修改后再按之前的步驟更新索引庫和組件庫就可以了
1、子庫使用
修改podfile文件
pod 'LGBase/Cache'
安裝
pod install