はじめに
前提環境:
Xcode 13.2.1
参考記事:
iOSのパッケージ管理ツールはどれが良いのか?
↑の記事に記載されているとおり、ライブラリ管理ツールとしては、
- CocoaPods
- Carthage
- Swift Package Manager (SwiftPM)
の選択肢があり、それぞれメリット・デメリットがあります。
ツール選定の判断基準としては、ライブラリの対応状況も関係してくると思います。
そこで、ライブラリの対応状況をざっくり調査してみました。
ライブラリの選定は、私が実務で使ったことがあるモノ + 今後使ってみたいモノです。
すなわち独断と偏見が入ってます。
調査結果(2022年3月27日時点)
ライブラリ | Version | CocoaPods | Carthage | SwiftPM |
---|---|---|---|---|
Alamofire | 5.5.0 | ◯ | ◯ | ◯ |
AnyFormatKit | 2.5.2 | ◯ | × | ◯ |
Charts | 4.0.2 | ◯ | ◯ | ◯ |
DifferenceKit | 1.2.0 | ◯ | ◯ | ◯ |
Firebase | 8.14.0 | ◯ | △Beta | ◯ |
GoogleMaps | 6.1.1 | ◯ | ◯ | × |
Kingfisher | 7.2.0 | ◯ | ◯ | ◯ |
KeychainAccess | 4.2.2 | ◯ | ◯ | ◯ |
Lottie | 3.3.0 | ◯ | ◯ | ◯ |
Moya | 15.0.0 | ◯ | ◯ | ◯ |
OHHTTPStubs | 9.1.0 | ◯ | ◯ | ◯ |
R.swift | 6.1.0 | ◯ | × | × |
Reachability.swift | 5.1.0 | ◯ | ◯ | ◯ |
RealmSwift | 10.24.2 | ◯ | ◯ | ◯ |
RxSwift | 6.5.0 | ◯ | ◯ | ◯ |
SkeletonView | 1.29.2 | ◯ | ◯ | ◯ |
SwiftLint | 0.47.0 | ◯ | × | × |
SwiftyJSON | 5.0.0 | ◯ | ◯ | ◯ |
SVProgressHUD | 2.2.5 | ◯ | ◯ | × |
Toast-Swift | 5.0.1 | ◯ | ◯ | ◯ |
私見
CocoaPodsはビルドが遅い難点がありますが、面倒がなくて安心感があります…