具有常量问题的预编译标头

TTi*_*age 8 xcode constants objective-c prefix undeclared-identifier

我的项目中有一些常量文件"Constants.h",我将其包含在Prefix.pch文件中,以供项目中的所有类使用.它们只包含一堆#define语句.

我的类不识别这些常量(没有自动完成),Xcode每次使用时都会给出"未声明的标识符"错误.但是当我运行项目时,一切正常(设置为忽略错误).

有什么办法可以摆脱这些警告吗?#pragma在前缀文件中忽略它们还是什么?我尝试了很多选项,包括在构建设置中将"预编译前缀头"设置为NO.

有任何想法吗?

编辑:我已经尝试删除派生数据和清理/删除生成文件夹无济于事.

值得注意的是,我的项目中有3个目标,而该项目中有另一个项目.

此外,一些#imports导入普通类.就像UIFont和Analytics类的类别扩展一样.这会影响它吗?

Pet*_*ter 10

要解决这个问题,我必须在目标的Build Settings中将'Precompile Prefix Header'标志更改为NO.通过执行此操作,您将失去通过缓存编译头文件实现的任何构建性能,但在我的情况下,我的前缀标头非常小,所以我不会看到构建所需的时间.


TTi*_*age 0

我的目标之一中有一个预处理器宏,我将其从“预处理器宏”移动到“预编译头中未使用的预处理器宏”,这解决了问题。