【发布时间】:2017-05-17 11:47:53
【问题描述】:
如标题所示,carthage 命令行中“--no-use-binaries”的目的是什么?如果错过了这个,会发生什么?拥有这个有什么好处?
【问题讨论】:
如标题所示,carthage 命令行中“--no-use-binaries”的目的是什么?如果错过了这个,会发生什么?拥有这个有什么好处?
【问题讨论】:
迦太基 --no-use-binaries
作为框架开发人员,您有两种方法,甚至可以同时使用它们:
closed source code(预建框架)。例如,您可以使用 carthage archiveOfficial 并将其添加到 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 时,首先尝试使用开源代码,如果找不到,将使用封闭源代码
【讨论】:
有时,依赖项项目中的预构建框架已损坏,因此您需要在本地构建它们。
此外,这些预构建的框架不支持逐步调试,因此除非您在本地构建它们,否则您将无法将此功能与您的依赖项一起使用。
使用 --no-use-binaries 使用您的编译器在本地编译项目。
执行 update 命令可能偶尔会在 Swift 语言更新到较新版本时产生错误,而依赖项是为较旧版本的 Swift 构建的(即使它仍然兼容)。您可以使用此标志解决此类情况。
一个缺点是编译带有--no-use-binaries 标志的项目需要更长的时间。如果没有该标志,您将请求预构建的框架(如果它可用)。
有关更多信息,您可以在 GitHub 上查看 this Carthage issue。
希望我能消除你的疑虑。
【讨论】: