如何从 CocoaPods 迁移到 Carthage?

How to move from CocoaPods to Carthage?

我的项目已经链接了大约 30 个不同的库。他们中很少有人支持迦太基。

需要做一个分支,让他们一个一个支持迦太基吗? 有没有更好的方法呢?

迦太基思想是基于框架的。因此,如果您的依赖项不支持它们,迦太基将无法为您构建它们。就这么简单。

但是:您也可以使用 carthage 来管理依赖项,只需使用参数“--no-build”。然后迦太基只会将依赖项提取到您的 Carthage/Checkouts 文件夹中。

有一些缺点:

  • 根据项目的不同,你必须将每个依赖项的项目添加到你自己的项目中,如果项目只包含一个示例应用程序,你必须自己添加代码
  • 如果项目本身有依赖关系,迦太基只有在项目中有 cartfile 时才能找到它们,作为替代方案,您可以将依赖项目添加到您自己的 cartfile 中以避免分叉它们,但随后您必须更新适合自己的版本
  • 开发人员在工作时会看到代码本身,但他们应该以只读方式处理它们
  • ...

可以像那样使用 carthage,但我不推荐它。如果您需要有关此解决方案的更多信息,请阅读 here

注意:如果您分叉项目并使它们支持迦太基,社区可能会感激不已。 ;-)

在同一个项目中同时使用 Carthage 和 Cocoapods 运行 没有问题。您可以尝试混合方法并逐步替换库。

你可以在上面查看this post。在那里,我通过用 Carthage 替换 Cocoapods 使我的构建时间快了 9 倍,但我讨论了一些库是如何难以或不可能替换的。