" - 不使用二进制文件"的目的是什么?在迦太基

时间:2017-01-03 11:34:50

标签: ios carthage

标题是" - 禁止使用二进制文件"的目的是什么?在carthage命令行?如果错过了这个,可能会发生什么以及有什么好处呢?

2 个答案:

答案 0 :(得分:52)

有时,依赖项目中的预构建框架已损坏,因此您需要在本地构建它们。

此外,这些预构建的框架不支持逐步调试,因此除非您在本地构建它们,否则您将无法将此功能与您的依赖项一起使用。

使用--no-use-binaries使用编译器在本地编译项目。

当Swift语言升级到较新版本时,执行update命令可能偶尔会产生错误,而依赖项是使用旧版本构建的(即使它仍然兼容)您可以使用标志来解决此类情况。

一个缺点是,使用no-use-binaries标志编译项目需要更长的时间,与没有它的情况相比,因为它只是使用预先构建的框架(如果可用)。 有关详细信息,您可以查看此迦太基issue

希望我清除你的疑虑。

答案 1 :(得分:0)

迦太基 --no-use-binaries

作为框架开发者,您有两种方法,甚至可以同时使用它们:

  1. 分享 closed source code(预建框架)。例如,您可以使用 carthage archiveOfficial 并将其添加到 Github 发布附件中。 Carthage build 速度更快,但框架无法在其他计算机上调试,否则您可能会遇到下一个编译错误
    Incompatible Swift version - framework was built with <version_1> and the local version is <version_2>
    
  2. 分享open source code。例如,您在 Github.com 上发布代码。

作为框架消费者,您有下一个Cartfile

github "SomeCompany/SomeFramework"

默认情况下Carhage首先尝试使用的闭源代码的。但是当你指定 --no-use-binaries Carthage 首先尝试使用开放源代码,如果没有找到它封闭源代码将被使用