iOS上的调试模式

时间:2011-09-13 14:23:11

标签: objective-c ios remote-debugging debug-mode

一直在研究这个问题而不确定该做什么。

我想允许用户打开或关闭调试模式。使用NSLogs上的调试模式将打印到控制台。

目前我可以使用预处理器(DEBUG)在构建设置中打开或关闭调试模式,并使用以下代码“阻止”NSLog。

#ifdef DEBUG
    NSLog(@"If you can see this then debug is on");
#endif

我在设置页面中创建了一个切换开关以获取用户的输入,但我不知道如何使用此输入然后未定义/重新定义DEBUG。有任何想法吗?

我不确定这是否可行,因此任何替代解决方案也将受到赞赏。

非常感谢:)

2 个答案:

答案 0 :(得分:6)

您不应该使用预处理程序指令:使用#ifdef DEBUG意味着,如果未定义DEBUG,则根本不会编译该段代码。

您应该使用检查全局变量的简单if语句替换预处理程序指令(或者,至少可以是解决方案)。

答案 1 :(得分:0)

我相信您的代码块只会检查您是否正在构建调试版或发布版,并会相应地构建。

你可以在它将处于发布模式的设备上构建它,我不认为可以在发布模式下运行模拟器。

也许手动为模拟器构建应用程序并将打包文件移动到仅在模拟器上运行而不运行xcode,但我认为这是不合理的。