Swift如何判断不同的targets和DEBUG

Swift如何判断不同的targets和DEBUG的呢?

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

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


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


    6321331-547bc316b253c86a.png

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

6321331-58daa508ccad6bbb.png

Tip:

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

6321331-44a5bc5e64e36a64.png

判断多个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

ok,结束了!开始你的工作吧!

你可能感兴趣的:(Swift如何判断不同的targets和DEBUG)