当Xcode在其"构建设置"中显示DEBUG=1
的预处理器宏时,这是否等效于手动键入预处理器宏,如#define DEBUG 1
?
是,对应于"-DDEBUG=1"预处理器选项,该选项等效于在处理任何源文件之前读取的宏定义#define DEBUG 1
。
是,但仅在调试配置中。如果将#define DEBUG 1
添加到代码中,那么DEBUG将在Release和DEBUG配置中定义。不同的操作使用不同的构建配置
Action | Configuration
--------------------------
Run | Debug
Test | Debug
Profile | Release
Analyze | Debug
Archive | Release
因此,通过在构建设置中定义DEBUG,您可以添加仅在本地构建中运行的代码。但不是在你的Ad Hoc或应用商店版本中。
#ifdef DEBUG
[self.tapGestureRecognizer addTarget:self action:@selector(segueHiddenDevMenu:)];
#endif
这段代码为"Nuke and Pave the Database"、"Add 10000 new records to the Database"one_answers"Create the Default Image View"添加了一个仅限开发人员使用的菜单。用户不应该玩的东西。以及会让你的应用程序被拒绝的隐藏功能。