2019-04-24: #if DEBUG 使用?

一:#if DEBUG 使用?

1: 区分debug 和release版本、方便打印、执行不同版本的代码?

/// 表现形式如:
#if DEBUG
print("执行debug代码1")
#else
print("执行非debug代码!")
#endif

二:#if DEBUG配置?步骤

1: 在项目中build Setting里配置Swift compiler - Custom Flags, 展开Other Swift Flags, 在Debug右侧添加输入"-DDEBUG"
->> 也可以"-D DEBUG"、但是不能赋值:"- DDEBU=1" 或"-D DEBUG=1"这两种是无效的。


2019-04-24: #if DEBUG 使用?_第1张图片
Snip20190424_3.png

2: 在项目的build setting里配置Apple LLVM x.x - Preprocessiong, 展开Preprocessiong Macros, 查看在Debug右侧是否包含"DEBUG=1", 如果没有、请手动加入!!!!


2019-04-24: #if DEBUG 使用?_第2张图片
Snip20190424_2.png
  • 注意:1. 第一步使Swift代码编译Debug时定义DEBUG标记、第二步使用OC、C、C++的LLVM预处理在Debug时定义DEBUG=1宏标记
    1. 如果纯Swift工程可以忽略第2步。

三:多种环境设置宏定义?

1: 除了普通的Debug、release两种环境外、可能还有Integration(int)、Staging(stg)等环境设置

3.1: 创建一个staging环境?

1: 点击Project,不是target,然后在info中、选择Configurations中添加一个环境如Staging


2019-04-24: #if DEBUG 使用?_第3张图片
Snip20190424_4.png

2: project中、 在build Setting,Other Swift flags staging中右侧添加:“-DSTAGING”


2019-04-24: #if DEBUG 使用?_第4张图片
Snip20190424_5.png

3: 在project中、build Setting Preprocessor Macros中不需要添加STAGING=1或者手动添加这个、直接在target中添加即可

  • target中的Other Swift flags 是继承自project中的Other Swift flags、所以不需要在重复添加-DSTAGING


    2019-04-24: #if DEBUG 使用?_第5张图片
    Snip20190424_6.png

    2019-04-24: #if DEBUG 使用?_第6张图片
    Snip20190424_8.png

4: target 中 build Setting preprocessor Macros中查看是否有STAGING=1,若没有就手动添加


2019-04-24: #if DEBUG 使用?_第7张图片
Snip20190424_7.png
  • 友情链接

你可能感兴趣的:(2019-04-24: #if DEBUG 使用?)