Swift/Xcode 依赖管理方法

Swift/Xcode dependency management approach

我正在考虑配置 SwiftyJSON。 docs 状态您可以使用以下任何方法配置库:

  1. CocoaPods
  2. 迦太基
  3. Swift 包管理器
  4. 手动

配置外部库时,这些方法的优缺点是什么?

以下是关于它们每个的一些要点

1. CocoaPods

优点

  • 使用最广泛的依赖管理器。
  • 几乎每个流行的库、框架供应商都为其library/framework提供pod。
  • 您可以试用该库及其用法,而无需手动下载。 pod try 命令

缺点

  • 您应该使用工作区来管理您的项目。
  • 如果任何供应商不添加或更新其库的 pod 规范,将难以维护。

2。迦太基

优点

  • 无需将项目保留在工作区中。
  • 它不是集中式系统,无需等待供应商update/add 库到任何集中式仓库。

缺点

  • 第一次需要将框架添加到项目中。

3。 Swift 包管理器

优点

  • swift 本身的 creators/maintainers 的产品。

  • 没有创建额外的工作区。

  • 超级容易集成。 缺点

  • 人气不高

  • 仍需开发者社区采纳

4.手动

优点

  • 你有完全的控制权。
  • 您可以编辑(如果许可证允许..)。

缺点

  • 需要手动添加依赖项。
  • 难以更新库。
  • 不确定我们是否可以使用 Swift 包管理器将 Objective-C 库添加到项目中。

我建议使用 CocoaPods,因为它使用起来非常简单,并且可以从互联网上获得足够的帮助和资源。

在 WWDC 2019 中,Apple 推出了 Xcode11 并内置了使用 SPM 的功能。所以将SPM用作Cocoapods会很容易。