我创建了三个目标,每个目标都有不同的捆绑ID和应用程序图标。我还在“其他快速标志”中添加了不同的标志 - >自定义快速标志部分
喜欢
对于第一个目标,我添加了“ - DGOLD”, 对于第二个目标,我添加了“ - DSILVER”和for 第三个目标我添加了“ - DPLATINUM”。
在AppDelegate中我写了一段代码
#if GOLD
print ("Gold")
#elseif SILVER
print ("Silver")
#else
print ("Platinum")
#endif
仅供参考,I am using Xcode 8.3
我试图运行第一个目标,我总是得到“白金”。请告诉我如何正确地获得旗帜
答案 0 :(得分:5)
对于Xcode 8及更高版本,请在Build settings / Swift compiler - Custom flags中使用 Active Compilation Conditions 设置。
这是用于将条件编译标志传递给Swift编译器的新构建设置。
只需添加这样的标记:GOLD
,SILVER
等,不带-D等。
然后使用如下编译条件进行检查:
#if GOLD
//
#elseif SILVER
//
#else
//
#endif
答案 1 :(得分:1)
我正在使用Xcode 9。 我遇到了同样的问题,寻找了几个小时的答案,终于找到了解决方案。 在每个目标的“构建设置”->“其他Swift标志”中,我都添加了想要的标志,如下所示:
Target1-> -DTARGET1
Target2-> -DTARGET2
然后在我的代码中使用:
#if TARGET1
//
#elseif TARGET2
//
#endif