条件编译
日常开发时,出于某些原因,有时可能需要添加一些仅在测试环境下运行(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新知”,每天准时分享一个新知识,这里只是同步,想要获得更好的体验就关注我吧!