在Objective-C中,使用静态字符串常量来定义备用API密钥(例如,区分用于分析包的RELEASE和DEBUG密钥,如MixPanel,Flurry或Crashlytics)有时是有用的:
#if DEBUG
static Nsstring *const API_KEY = @"KEY_A";
#else
static Nsstring *const API_KEY = @"KEY_B";
#endif
接着…
[Analytics startSession:API_KEY];
这是怎么转化为Swift的,因为Swift编译器不再使用预处理器?
您仍然可以以相同的方式使用宏:
#if DEBUG
let apiKey = "KEY_A"
#else
let apiKey = "KEY_B"
#endif
但是为了让它们被Swift拾取,您需要在目标的Build Settings中设置“Other Swift Flags”:
>为您的目标打开构建设置
>搜索“其他快捷标志”
>添加要使用的宏,前面加上-D标志