包装在“ DEBUG”预处理器中的代码是否有条件地剥离以用于发行版本?

时间:2018-10-26 02:22:18

标签: swift xcode

我指的是与此类似的代码:

#if DEBUG
    // Some code with sensitive account information used for debugging
#endif

在这种情况下,我使用precompiler标志来轻松加载我的调试帐户信息,而不必每次都键入。

我担心的是,敏感帐户信息是否将以任何形式包含在“发布”版本中。

我的理解是,在这种情况下,代码块将在编译之前被简单地剥离(当然,假定未为发布配置设置DEBUG标志)。

1 个答案:

答案 0 :(得分:2)

假设在发布版本中未设置DEBUG标志,则#if DEBUG#endif内部的任何代码都不会编译到生成的应用程序中。

您可以通过查看构建输出来验证这一点。查看用于源文件的详细命令行。如果您在命令中找不到-DDEBUG,那么您就知道DEBUG不存在,并且该代码也不会包含在内。