【问题标题】:How do I use a framework in a framework with Carthage?如何在 Carthage 框架中使用框架?
【发布时间】:2020-03-07 02:54:25
【问题描述】:

我按照this 指南创建了一个 Swift 框架。这适用于客户端应用程序,也可以进行测试。

到目前为止,一切都很好。

当我向我的框架添加框架时,例如JASON,我无法导入我的代码,因为它没有显示出来。

error: no such module 'JASON'
import JASON
       ^

有趣的是,我可以在我的单元测试目标中导入框架。这不是我想要或需要的地方。

除了 Carthage 的 advice,我还关注了 Robot 的 advice

有什么想法吗?

【问题讨论】:

    标签: ios xcode carthage


    【解决方案1】:

    将一个框架作为依赖项添加到另一个框架项目中对 Carthage 来说很好。我在家(Objective-C)和工作(Swift)的自己的项目中完成了它。

    诀窍是在将项目添加到您的应用时。我发现最好的方法是使用平面模型。 IE。不要尝试嵌入框架或以某种方式嵌套它们。让 Carthage 将您的顶级框架和它们所依赖的任何框架都带入同一级别。然后将它们的 *.framework 文件拖到您的应用项目中,并使用carthage copy-frameworks 命令将它们添加到单独的构建步骤中。

    【讨论】:

    • 我认为 Carthage 允许您指定 Cartfile.private 的事实,您必须能够最好的框架。除非那只是为了测试框架,但文档没有这么说。
    • @drekka 所以你的可可触摸框架应该有carthage copy-frameworks 命令?或者也许你嵌入了你的框架的应用程序?
    【解决方案2】:

    我最近遇到了一个类似的问题,并花了一些时间找出解决方案。我可以在 Carthage Github 页面的“嵌套依赖项”部分下找到答案

    https://github.com/Carthage/Carthage#nested-dependencies

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-14
      • 1970-01-01
      • 2015-09-10
      • 2016-12-16
      • 2015-07-05
      • 2017-10-13
      • 2017-04-21
      • 2018-03-22
      相关资源
      最近更新 更多