在Objective C项目上添加Swift或Enable Modules = YES会导致构建错误

时间:2015-12-16 04:50:43

标签: objective-c xcode swift

在Xcode 7.1中,将一个swift文件添加到一个大型Objective-C项目后,构建失败,其中包含许多“XYZ无可见@interface声明选择器ABC”和“未找到ABC的方法定义”错误。

所有这些错误仅出现在一个文件中。

添加swift文件会自动将构建设置“Enable Modules”更改为“YES”。将其更改回“NO”会导致无错误构建,但会阻止与swift混合。

1 个答案:

答案 0 :(得分:0)

问题是文件中间有一个错误的#import“header.h”。这可能是过去的一些复制和粘贴遗留下来的。

似乎在启用模块时,编译器会看到此标头并在此时标记目标c类'@end,这意味着之后的所有方法实现都没有被看到。

由于我的编译器设置将所有警告视为错误,我从未见过这个问题,因为编译器在显示最大数量后停止输出错误。