迦太基中“--no-use-binaries”的目的是什么

what's the purpose of "--no-use-binaries" in carthage

如题,carthage命令行中的“--no-use-binaries”有什么用?如果错过了这个,会发生什么?拥有这个有什么好处?

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

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

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

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

一个缺点是编译带有--no-use-binaries标志的项目需要更长的时间。如果没有标志,您将请求预构建框架(如果可用)。 有关详细信息,您可以在 GitHub 上查看 this Carthage issue

希望我消除了你的疑虑。

迦太基 --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.
  3. 上发布您的代码

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

github "SomeCompany/SomeFramework"

默认Carhage首先尝试使用封闭源代码。但是,当您指定 --no-use-binaries Carthage 时,首先尝试使用 open source code,如果找不到,closed source code 将被使用