【问题标题】:what's the purpose of "--no-use-binaries" in carthage迦太基中“--no-use-binaries”的目的是什么
【发布时间】:2017-05-17 11:47:53
【问题描述】:

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

【问题讨论】:

    标签: ios carthage


    【解决方案1】:

    迦太基 --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 时,首先尝试使用开源代码,如果找不到,将使用封闭源代码

    【讨论】:

      【解决方案2】:

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

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

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

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

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

      希望我能消除你的疑虑。

      【讨论】:

        猜你喜欢
        • 2020-01-18
        • 2016-01-04
        • 1970-01-01
        • 1970-01-01
        • 2012-02-24
        • 2017-07-07
        • 2020-07-07
        • 2018-03-31
        • 2018-04-27
        相关资源
        最近更新 更多