Swift:多个目标处理:宏不起作用

Sri*_*har 2 macros xcode targets ios

来自参考如何使用swift语言处理XCode中的多个目标?https://www.appcoda.com/using-xcode-targets/

我创建了三个目标,每个目标都有不同的捆绑ID和应用程序图标.我还在"其他swift标志" - >自定义swift标志部分添加了不同的标志

喜欢

对于第一个目标,我添加了"-DGOLD",对于第二个目标,我添加了"-DSILVER",对于第三个目标,我添加了"-DPLATINUM".

在AppDelegate中我写了一个代码

#if GOLD
print ("Gold")
#elseif SILVER
print ("Silver")
#else
print ("Platinum")
#endif
Run Code Online (Sandbox Code Playgroud)

仅供参考, I am using Xcode 8.3

我试图运行第一个目标,我总是得到"白金".请告诉我如何正确地获得旗帜

Sha*_*y D 5

对于Xcode 8及更高版本,请使用Build settings/Swift编译器中的Active Compilation Conditions设置 - 自定义标志.

这是用于将条件编译标志传递给Swift编译器的新构建设置.只需添加标志是这样的:GOLD,SILVER等不-D等,然后用汇编条件这样的检查:

#if GOLD
//
#elseif SILVER
//
#else
//
#endif
Run Code Online (Sandbox Code Playgroud)