3

一直在研究这个,不完全确定该怎么做。

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

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

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

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

我不确定这是否可能,因此也将不胜感激任何替代解决方案。

非常感谢 :)

4

2 回答 2

6

你不应该使用预处理器指令: using#ifdef DEBUG意味着,如果DEBUG 没有定义,那段代码根本不会被编译。

相反,您应该用检查全局变量的简单 if 语句替换预处理器指令(或者,至少,这可能是一个解决方案)。

于 2011-09-13T14:29:23.797 回答
0

我相信您的代码块只会检查您是为调试还是发布而构建,并将相应地构建。

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

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

于 2011-09-13T14:31:55.010 回答