關(guān)于Carthage和Cocoapods基礎(chǔ)部分就不做過多的說明。不懂的同學(xué)去搜索即有。我要說的是自己在使用兩個(gè)依賴工具管理項(xiàng)目的一點(diǎn)心得。
1.Cocoapods創(chuàng)建私有庫
私有庫創(chuàng)建完成后,我們可以根據(jù)自己的需求podfile或者.podspec文件中添加私有庫所需要的支持庫,私有庫完成后,我們需要讓所有Schemes的 shared被選中,如下圖1所示:

2.構(gòu)建私有庫
Carthage 只構(gòu)建從.xcodeproj分享出來的 Xcode schemes。使用Terminal進(jìn)入到私有庫目錄,可以通過運(yùn)行carthage build --no-skip-current來檢測所有的 intended schemes 是否構(gòu)建成功,然后檢查 Carthage/Build 文件夾。
如果運(yùn)行命令的時(shí)候,一個(gè)重要的 scheme 沒有構(gòu)建成功,打開 Xcode 確保scheme is marked as “Shared”,這樣 Carthage 可以發(fā)現(xiàn)它。
3.上傳私有庫到git
不上傳 在cartfile 中引用本地項(xiàng)目進(jìn)行 carthage update 時(shí)會報(bào)
***Skipped building XXX?due to the error:
Dependency "XXX" has no shared framework schemes
原因不明(應(yīng)該是跟.podspec文件中默認(rèn)生成的git有關(guān))。
大家可以根據(jù)自己的需求上傳到服務(wù)器但是要注意 .podspec 文件中的
s.homepage= 'https://xxxx'
s.author= { 'Author' => 'account' }
s.source= { :git => 'git', :tag => s.version.to_s }
三個(gè)地方配置正確,不正確的話也會因?yàn)镻ermission問題出現(xiàn)錯誤。
上傳成功后,Carthage、Cocoapods都可以使用git地址依賴管理。
4.Carthage使用依賴私有庫
在Cartfile中添加git地址
git "https://enterprise.local/desktop/git-error-translations2.git" "development"
運(yùn)行 carthage update,成功后在 target-> Build Phases -> Link Binary With Libraries 添加引用的framework,在target-> Build Phases-> Run Script 添加framework引用路徑。
在需要引入的地方導(dǎo)入頭文件就可以了。