条件编译
日常开发时,出于某些原因,有时可能需要添加一些仅在测试环境下运行(DEBUG)的代码。我们可以在条件编译的帮助下轻松做到这一点。
Xcode 默认内置了 Debug 环境,可以通过下边的方法进行判断。
#if DEBUG
// 这里的代码仅在 Debug 下编译
#else
// 这里的代码仅在 Release 下编译
#endif
如何添加新的编译条件
首先我们从项目导航器中选择项目的根目录,选中当前项目(这里是 Project,不是 Target),然后选择 Build Settings,在搜索框中输入 Active Compilation Conditions,就能看到了。

从图片中可以看出,Xcode 已经帮我们预设了 DEBUG,所以我们上边可以直接 #if DEBUG 来判断。
接下来我们给 Release 也添加一下,双击 Release 后的空白区域,会有一个下拉框出来,点击加号,随便输入一个名字,比如我这里输入 REL,代表 Release。

这样设置之后,就可以通过 REL 来判断 Release 环境了。
#if REL
print("This is Release!")
#else
print("This is Debug!")
#endif
如何添加新的环境?
可能有这么一种需求,代码既不在 Debug 下运行,又不在 Release 下运行,而是另一种新的环境,比如是在正式发布之前的 RC 环境。
我们来创建一个新的配置,从项目导航器中选择项目的根目录,选中当前项目(这里是 Project,不是 Target),然后选择 Info,在 Configurations 一栏中点击加号,按照你的需求选择从 Debug 或者 Release 复制一份配置,然后将配置重命名为 RC。

之后再回到 Active Compilation Condition 部分,为 RC 添加编译条件。

最后,我们就可以在代码中使用 RC 了。
#if RC
print("This is RC!")
#elseif REL
print("This is Release!")
#else
print("This is Debug!")
#endif
点击下方公众号卡片,关注我,每天分享一个关于 iOS 的新知识
本文同步自微信公众号 “iOS新知”,每天准时分享一个新知识,这里只是同步,想要获得更好的体验就关注我吧!