这个问题让我发疯了,它几乎肯定与 Xcode 中的一些错误有关,但也许有一些我不熟悉的解决方法或者我可能忽略了的东西。它是这样的:
我们为不同的子项目提供了多个构建目标,这些目标生成具有部分重叠代码的单独可执行文件。为了排除不应该进入一个或另一个应用程序的某些代码位,我们#define
在每个子项目的相应 .pch 文件中定义了许多宏,例如在main-app.pch
#ifndef MY_APP
#define MY_APP 1
#endif
在sub-app.pch 中
#ifndef SUB_APP
#define SUB_APP 1
#endif
然后,在一些代码中,你会看到
- (void)doSomething
{
#ifdef MY_APP
NSLog(@"This is just an example");
#endif
}
现在,问题是 Xcode 有时,即仅在某些机器上,不做语法高亮或条件编译代码的代码完成。也就是说,对于我的同事来说,它工作得非常好,而无论我做什么,我都不会看到语法突出显示。作为记录,我们都在 Xcode 4.5.2 上。我尝试删除派生数据和重新索引,改组目标/模式的顺序,并将预处理器宏放在项目和目标设置中,而不是 .pch 文件中,但似乎没有任何帮助。知道这里发生了什么吗?