@import X;导致错误无法构建模块X.

时间:2016-03-10 16:04:13

标签: ios objective-c xcode swift module

我有一个定义为模块的自定义框架TSUI。它有Objective-C和Swift代码。如果我在Objective-C代码中导入它,如下所示:

#import <TSUI/TSUI.h>

一切正常,但我只能访问Objective-C代码。但是,如果我将其导入为:

@import TSUI;

#import <TSUI/TSUI.h>
#import <TSUI/TSUI-Swift.h>

所有内容编译都很好,但在Xcode中我收到以下错误: enter image description here

在框架和应用程序代码中,我设置了以下构建设置:

  • 嵌入内容包含Swift代码= YES
  • 允许框架模块中的非模块化包含= YES
  • 启用模块= YES

我已经尝试清理项目,清理派生数据,问题不断回归。如果框架不包含Swift代码但是包含在@import而不是#import中,它也会出现。目前我认为这是一个错误。

2 个答案:

答案 0 :(得分:0)

删除当前的import语句 所以项目编译。

构建您的项目。

再次尝试导入。

答案 1 :(得分:0)

您的模块有问题。我相信您需要设置模块映射文件的TSUI项目。您应该有一个文件,只导入您要包含在模块中的所有文件。你可以称之为TSUI-umbrella.h。在您的模块图中,您应该将其设置为伞形标题。然后,当您运行@import(导入模块)时,您将获得正确的编译。另外你可以做到

#import <TSUI/TSUI-umbrella.h>

或基本上

#import <ModuleName/UmbrellaHeader>