Xcode 如何决定用于自动完成的预处理器宏和其他构建设置?

问题描述

我的 Xcode 项目有不同的构建配置,它们定义了不同的预处理器宏。自动完成在当前预处理器标志忽略的 #ifdef 块中不起作用,因此我想控制 Xcode 用于自动完成的构建配置。 Xcode 如何决定?

解决方法

经过一些试验后,规则如下(在 Xcode 13.0 beta 13A5155e 上):

  • 如果存在名为 Debug 的配置,则使用它。
  • 否则,将使用“用于命令行构建”菜单中的配置。

有趣的是,这完全忽略了当前方案中选择的配置。如果您删除每个方案,自动完成仍然有效。