Carthage的理念基于框架。所以,如果你的依赖不支持它们,Carthage将无法为你构建它们。就是这么简单。但是:你也可以使用参数“--no-build”来仅使用Carthage管理依赖项。然后,Carthage将只会将依赖项获取到你的Carthage/Checkouts文件夹中。存在一些缺点:- 根据项目,你必须将每个依赖项的项目添加到你自己的项目中,如果项目仅包含示例应用程序,则必须添加代码本身。 - 如果项目本身有依赖关系,只有在项目中有cartfile时,Carthage才能找到它们,作为替代方案,您可以将相关项目添加到您自己的cartfile中以避免fork它们,但是那之后您需要自行更新版本。 - 开发人员在工作时会看到代码本身,但他们应该将其视为只读。 - ...虽然可以这样使用Carthage,但我不建议这样做。如果您需要更多关于此解决方案的信息,请阅读此处。注意:如果您fork项目并使它们支持Carthage,社区可能会感激不尽。;-)
在同一个项目中同时运行Carthage和Cocoapods没有问题。您可以尝试混合方法,逐步替换库。 您可以查看此帖子。在那里,我通过用Carthage替换Cocoapods使我的构建时间快了9倍,但我讨论了一些难以或不可能替换的库。