避免嵌入iOS的子框架

时间:2017-11-15 10:32:48

标签: ios swift frameworks

我正在开发一个Swift框架 MainFW ,它使用了2个Objective-C框架。
我使用模块映射文件导入了旧框架,以便从Swift中使用它。这是我的代码:

module SwiftFrameworkA {
  header "../Frameworks/A.framework/Headers/A.h"
  export *
}

module SwiftFrameworkB {
  header "../Frameworks/B.framework/Headers/B.h"
  export *
}

在构建MainFW时,这个框架是“嵌入式”的,只生成一个 MainFW.framework

我需要的是只有一个结果嵌入,另一个必须也用在 ExternalApp 中,需要使用 MainFW.framework FrameworkB.framework

如何指示构建不嵌入 FrameworkB ,而是使用 FrameworkB.framework 的外部应用程序?

现在 ExternalApp 表示类是重复的,并且不知道使用了哪个类。

FrameworkB 另外还是一个非模块化的框架。

谢谢。

1 个答案:

答案 0 :(得分:0)

当你构建MainFW时,你必须让它和FrameworkB成为app项目中的子项目,然后app会单独编译FrameworkB,你只需要将FrameworkB的头部包含到MainFW中,然后你可以构建你的MainFW里面没有FrameworkB。

之后,您可以在没有重复类的应用程序项目中使用它们