兩個(gè)都是代碼包管理工具
Swift PM: S
Cocoapods: C
背景
S: 蘋果自研 19年推出
C: 第三方 11年推出
集成與使用
S: 與Xcode天然集成,增刪改查都可以在xcode項(xiàng)目中完成
C: 借助終端Ruby環(huán)境,增刪改查需要運(yùn)行終端

cocoapods repo源
cocoapods添加對(duì)應(yīng)庫(kù)需要維護(hù)這樣一個(gè)
source list
包的管理
S: 去中心化,只需要一個(gè)具有Package.swift文件的git地址即可使用對(duì)應(yīng)代碼包
C: 有一個(gè)中心repo管理著源代碼的索引,發(fā)布與下載都需要通過(guò)這個(gè)repo
生態(tài)與趨勢(shì)
S: 除了國(guó)外的一些成熟SDK,國(guó)內(nèi)的SDK不支持
C: 所有SDK包管理工具的首選支持
因?yàn)閲?guó)內(nèi)Swift本身都沒(méi)有普及,而Swift PM中的庫(kù)是無(wú)法給OC使用的。也就是說(shuō)除非是純Swift項(xiàng)目,否則無(wú)法使用,這一點(diǎn)原因讓SwiftPM在國(guó)內(nèi)普及成為了不可能
使用體驗(yàn)
從配置文件來(lái)看
S:

SwiftPM
- 是在一個(gè)
.swift文件中進(jìn)行配置,配置是使用的class對(duì)象,具有代碼補(bǔ)全和編譯檢查 - 有了編譯檢查就不需要像cocoapods調(diào)用驗(yàn)證
pod lint - 會(huì)Swift的同學(xué)基本沒(méi)有學(xué)習(xí)成本,方法調(diào)用不清楚可以直接commond左鍵進(jìn)入對(duì)應(yīng)類文檔
C:

Cocoapods
- 腳本的編寫形式,沒(méi)有編譯檢查和補(bǔ)全
- 相關(guān)指令需要去cocoapods文檔查閱,難記