Swift:如何使用PREPROCESSOR Flags(如`#if DEBUG`)来实现API密钥?

        在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编译器不再使用预处理器?

        截至 Xcode 8,Apple完全支持Swift预处理程序标志,因此不再需要在“其他Swift标志”中设置这些值.

        新设置称为“活动编译条件”,它为Swift等效的预处理程序标志提供顶级支持.你使用它的方式与“其他Swift标志”完全相同,除了不需要用“-D”前置值(所以它只是更清洁一点).

        Xcode 8 release notes开始:

        Active Compilation Conditions is a new build setting for passing conditional compilation flags to the Swift compiler. Each element of the value of this setting passes to swiftc prefixed with -D, in the same way that elements of Preprocessor Macros pass to clang with the same prefix. (22457329)

        enter image description here

        您使用上面的设置如下:

        #if DEBUG
            let accessToken = "DebugAccessToken"
        #else
            let accessToken = "ProductionAccessToken"
        #endif
        相关文章
        相关标签/搜索
        每日一句
          每一个你不满意的现在,都有一个你没有努力的曾经。
        公众号推荐
           一个历史类的公众号,欢迎关注
        一两拨千金
        4887铁算盘一句解特马香港马会开码结果直播 开奖结果-香港最快开奖现场直播-王中王资料 一肖中特-2018年管家婆彩图