如何设置Xcode的“调试/发布目标设置”?

4
我在这里找到了一组很棒的宏 Objective C Macros
我将它们放在:
#if DEBUG==1
#define .... macros

在我的头文件中。

现在,我简单地无法确定在Xcode中设置 DEBUG=1DEBUG=0 的位置,以便在调试时定义宏而在发布时不定义。

希望有人能帮助我找到缺失的下拉菜单:)

1个回答

2

编辑:

显然,在开发iPhone应用程序时,您需要:

  • 选择iPhone设备作为活动sdk
  • 然后编辑项目或目标设置,在“其他C标志”中键入“-DDEBUG=1”

编辑您的项目或目标设置,选择您的Debug配置,然后查找“预处理器宏”设置并输入DEBUG=1

但是,我更愿意在Release配置中定义NDEBUG,然后写

#ifndef NDEBUG // if we are in debug mode
#define bla bla bla
#endif

注意:您需要设置一个将Objective-C源文件编译为库或应用程序的目标,否则设置不会出现在UI中。

嗨,谢谢大家。 我现在进入“项目”->“编辑项目设置”-“构建选项卡”,在“打包”标题下有一个“info.plist预处理器定义”。手册上说它需要用空格分隔的值。我尝试在这里放置“DEBUG=1”,然后重新启动Xcode。但它不起作用? 我尝试使用的所有NSLog宏都没有输出,但也没有警告或错误。似乎仍然是DEBUG=0。 - RickiG
嗨,Gregory我正在为iPhone模拟器编译和调试。这算合格吗? 如果我省略if...部分,它就可以正常工作。只是似乎我无法弄清楚在哪里定义DEBUG。再次感谢您的帮助。 - RickiG
不应该放在“打包”部分,而是应该放在“GCC 4.0 预处理”(或类似)部分。 - Gregory Pakosz
谢谢Gregory!我在模拟器和设备上都能完美工作。不过这可不是最明显的方法:) 再次感谢你的解决方案。 - RickiG
没错,那真的太糟糕了,我第一次尝试时也感到很惊讶 :) 祝你玩得开心! - Gregory Pakosz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接