一、写app的时候,有的时候会因为种种原因,同一个Project会对应不同的target,比如不同的测试环境,不同的bundleID 等等

target建好之后,下一步就需要通过不同的target来执行不同的代码,这里指需要配置一个全局的宏定义就可以了。如何配置这个全局的宏定义,见如下步骤:
1.选中其中一个target ,我们这里选择是SwiftTest这个target, 选中Build Settings, 找到Other swift Flags

2. 在Debug和Release中加入自定义的宏就可以啦,加的时候需要注意先加"-D"才可以,不加"-D"无法生效,至于原因暂时还不清楚

3.接下来就可以在代码中使用SwiftTest这个宏啦

Tip:
preprocessor Macros也可以配置全局的宏,但是在swift工程上无效

判断多个target
#if YueKanYueZhuan//阅看阅赚
let APPName = "YueKanYueZhuan"
#elseif DZYangSheng//抖转养生
let APPName = "DZYangSheng"
#elseif DouZhuan//抖转
let APPName = "DouZhuan"
#else//全民头条
let APPName = "quanmingtoutiao"
#endif
二、Swift下设置Debug
在target下 Build Settings 搜索 Other Swift Flags
设置Debug 按照上面的方法先添加"-D"在添加"DEBUG",注意不要和Release一起添加,否则无效。
//使用方式和oc下一样
#if DEBUG // 判断是否在测试环境下
let name = "DEBUG"
#else
let name = "Release"
#endif
网友评论