标题是" - 禁止使用二进制文件"的目的是什么?在carthage命令行?如果错过了这个,可能会发生什么以及有什么好处呢?
答案 0 :(得分:52)
有时,依赖项目中的预构建框架已损坏,因此您需要在本地构建它们。
此外,这些预构建的框架不支持逐步调试,因此除非您在本地构建它们,否则您将无法将此功能与您的依赖项一起使用。
使用--no-use-binaries
使用编译器在本地编译项目。
当Swift语言升级到较新版本时,执行update命令可能偶尔会产生错误,而依赖项是使用旧版本构建的(即使它仍然兼容)您可以使用标志来解决此类情况。
一个缺点是,使用no-use-binaries
标志编译项目需要更长的时间,与没有它的情况相比,因为它只是使用预先构建的框架(如果可用)。
有关详细信息,您可以查看此迦太基issue
答案 1 :(得分:0)
迦太基 --no-use-binaries
作为框架开发者,您有两种方法,甚至可以同时使用它们:
closed source code
(预建框架)。例如,您可以使用 carthage archive
Official 并将其添加到 Github 发布附件中。 Carthage build
速度更快,但框架无法在其他计算机上调试,否则您可能会遇到下一个编译错误
Incompatible Swift version - framework was built with <version_1> and the local version is <version_2>
open source code
。例如,您在 Github.com 上发布代码。作为框架消费者,您有下一个Cartfile
github "SomeCompany/SomeFramework"
默认情况下Carhage
首先尝试使用的闭源代码强>的。但是当你指定 --no-use-binaries
Carthage 首先尝试使用开放源代码,如果没有找到它封闭源代码将被使用