1

这个问题让我发疯了,它几乎肯定与 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 文件中,但似乎没有任何帮助。知道这里发生了什么吗?

4

1 回答 1

0

在这个烦人的问题上花费了大部分时间之后,我找到了一种“解决方案”:使用 Xcode 工作区而不是子项目来处理所有属于同一个应用程序包的独立可执行文件。我现在没有创建构建依赖项,而是在当前方案的“构建”部分(产品->编辑方案...)中添加其他目标。

于 2012-12-18T22:59:01.253 回答