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

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

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

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