我想添加新指令,例如
SUNNY
。为了我能写#if SUNNY ... #endif
。
我应该在构建设置中使用什么,为什么以及哪种格式?
现在我认为答案是:
其他快速旗帜 -
-DSUNNY
SUNNY
+ $(inherited)
SUNNY=1
,但不确定也不确切知道为什么。
如果您使用 Swift,则使用
SWIFT_ACTIVE_COMPILATION_CONDITIONS
这是“启用条件编译表达式的编译条件列表。”
仅当
SUNNY
是 SUNNY
时才设置 true
,即如果它是 1
。
当您不想覆盖现有设置时,请使用
$(inherited)
。
要查看如何解析设置,请转至:项目设置(在项目导航器中单击顶部的项目名称,即
xcodeproj
文件的名称)。
然后构建设置 > 级别。
设置继承从右到左显示。因此,已解决的(使用中)设置将被覆盖或从项目设置继承,然后是可能的
.xcconfig
文件,然后是默认值。
您还可以从以下位置查看已解决的设置: 从命令行(终端应用程序)
xcodebuild -showBuildSettings
。如:
xcodebuild -configuration Release -showBuildSettings
OTHER_SWIFT_FLAGS
是“传递给 Swift 编译器的附加标志列表”。如您所示设置标志,-DSUNNY
。
参考:https://developer.apple.com/documentation/xcode/build-settings-reference#Other-Swift-Flags
“预处理器宏”是“设置标题”,指的是“设置名称”
GCC_PREPROCESSOR_DEFINITIONS
。
GCC_PREPROCESSOR_DEFINITIONS
是为clang预处理器设置宏(标志/指令)。
将它们设置为您所示的值,SUNNY=1
。 (未设置时,该值被解释为 0
)。
另请参阅: https://developer.apple.com/documentation/xcode/adding-a-build-configuration-file-to-your-project