4

我正在开发一个 Swift 动态框架,其中包含一些 Objective-C 代码。我需要使用一些遗留的 Objective-C 代码而不将代码暴露给它。我开始知道我可以使用模块映射来避免在框架中将标题添加为公共。我一直在使用这个关于如何创建模块映射的链接。我创建的模块图看起来像这样。

framework module Xyz {
  umbrella header "Xyz.h"
  export *
  module * { export * }
}

framework module Module1{
    header "Module1.h"
}

framework module Module2{
    header "Module2.h"
}

.... Rest of the modules

之后,我尝试在 Swift 文件中导入模块,但没有自动完成。无论如何,我写了模块名称并尝试构建它。我在 Swift 文件中遇到错误,提示“无法构建 Objective-C 模块”。在模块映射文件中,我看到错误为“无法找到标头”。这是错误

在此处输入图像描述

所以我尝试添加构建设置的$(SRCROOT)/ProjectName/路径Include Path。之后它无法找到伞头。

在此处输入图像描述

我搜索了 StackOverflow 和 Google 的大部分内容,但找不到任何对我有帮助的东西。这是我第一次使用模块映射,我被困在这里不知道如何进一步解决这个问题。如果有人能指出我错过了什么,或者你能建议一些其他可以帮助我的资源,那就太好了。谢谢!

4

0 回答 0