检测iPhone是否在运行时运行调试/分发构建

6 iphone

是否可以在运行时检测正在运行的应用程序是使用调试还是分发编译的.

pro*_*rmr 13

在项目信息中,对于调试配置,添加"DEBUG"的预处理器宏(在GCC 4.2 - 预处理部分中).

在您的代码中,您可以使用#ifdef查看是否定义了DEBUG,如果您想要包含或不包含调试版本的代码.或者你甚至可以设置一个变量(我无法想象为什么你会想要这个):

#ifdef DEBUG
  BOOL isBuiltDebug = YES;
#else
  BOOL isBuiltDebug = NO;
#endif
Run Code Online (Sandbox Code Playgroud)

编辑: 那么,另一种方式是定义在预处理宏即一个布尔值,:"DEBUG_BUILD = 1"为调试配置,和"DEBUG_BUILD = 0"的发布配置.然后您可以在代码中使用该值:

if (DEBUG_BUILD) {
   ....
}
Run Code Online (Sandbox Code Playgroud)

只是要小心,不要使用宏的名字,可能的名称匹配的是已经在你的代码或以任何.h文件中,你可能包括两种,因为预处理器将取代它,它找到这些类型的bug一个真正的痛苦.