Xcode #ifdef DEBUG没执行的处理

今天在.pch文件中写了以下一行代码,帮助我定位到输出的行号,结果没出作用,记录一下:

1 #ifdef DEBUG
2 #define SLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
3 #else
4 #define SLog(...)
5 #endif

但是使用的时候根本没有执行到#ifdef DEBUG这里,经常网上找的答案,最后解决。解决过程如下:

在Build Settings中找到PreProcessor Macros 这个属性,对于Debug配置我们给他写上DEBUG,而在Release配置中把它留空。 这样我们刚才那段预处理命令就可以根据这个标志来判断我们编译的时调试版本还是发布版本,从而控制NSLog的输出。

如图:

原文地址:https://www.cnblogs.com/xiaomoge/p/4651649.html