0

当 Xcode 在其构建设置中显示预处理器宏时DEBUG=1,这是否等同于手动键入预处理器宏,例如#define DEBUG 1

4

2 回答 2

0

是的,这对应于“-DDEBUG=1”预处理器选项,相当于在#define DEBUG 1处理任何源文件之前读取的宏定义。

于 2013-06-29T04:15:02.750 回答
0

是的,但仅在调试配置中。如果添加#define DEBUG 1到代码中,则 DEBUG 将在 Release 和 Debug 配置中定义。不同的操作使用不同的构建配置

Action   |  Configuration
--------------------------
Run      |  Debug
Test     |  Debug
Profile  |  Release
Analyze  |  Debug
Archive  |  Release

因此,通过在 Build Settings 中定义 DEBUG,您可以添加仅在本地构建中运行的代码。但不在您的 Ad Hoc 或 App Store 版本中。

#ifdef DEBUG
    [self.tapGestureRecognizer addTarget:self action:@selector(segueHiddenDevMenu:)];
#endif

此代码向“Nuke and Pave the Database”、“向数据库添加 10000 条新记录”、“创建默认图像视图”添加了一个仅限开发人员的菜单。用户不应该玩的东西。以及会导致您的应用被拒绝的隐藏功能。

于 2013-06-29T04:17:48.190 回答