将DEBUG设置为false

时间:2013-05-24 08:52:14

标签: iphone ios6 xcode4.6

我想测试以下代码行:

#ifdef DEBUG
#define VAR 10
#else
#define VAR 20
#endif

project->build settings->preprocessor macrosDEBUG=1NSLogging VAR已记录10的值。

然后我设置{{ 1}}检查它是否记录DEBUG=0。但它仅记录20

如何设置DEBUG值以便满足代码中的10条件?

3 个答案:

答案 0 :(得分:0)

让事情变得简单:

#define DEBUG 1

#ifdef DEBUG
#define debug(...) NSLog(__VA_ARGS__)
#else
#define debug(...)
#endif

当您登陆appstore时,请评论#define DEBUG 1:D

这是我使用的方式。

我不知道如何定义像你这样的东西,但如果可能的话,它会很棒!

你能告诉我怎么做吗?

答案 1 :(得分:0)

您不应该设置DEBUG=0才能获得正确的结果 只是不要定义DEBUG来获得释放行为。

请记住,#ifdef DEBUG代码会检查DEBUG是否已定义
或者,#if DEBUG代码可以为您提供正确的结果。

答案 2 :(得分:0)

正如Aditya所说,应用程序中使用的其他库可能已定义DEBUG宏,因此即使我将其从preprocessor macro中删除,条件#ifdef DEBUG也始终满足。
解决方案很简单。只需使用不同的宏名称,例如IS_DEBUG而不是DEBUG。这解决了我的问题。这只是一个宏观名称的问题。