仅在分析应用程序时使用未声明的标识符

Posted

技术标签:

【中文标题】仅在分析应用程序时使用未声明的标识符【英文标题】:Use of undeclared identifier, only when profiling app 【发布时间】:2015-02-25 00:04:53 【问题描述】:

我收到一个错误,但仅在使用模拟器分析我的应用时出现:

Use of undeclared identifier 'DEBUG'

关于如何解决这个问题的任何想法?唯一一次发生这种情况是在使用模拟器分析我的应用程序时。

【问题讨论】:

【参考方案1】:

您可能正在RELEASE 模式下运行配置文件。 DEBUG 可以在编译时使用一些构建设置来定义。在 Xcode 中检查您当前的方案设置。在您的配置文件方案中,如果您的 Build Configuration 设置为除 DEBUG 以外的任何内容,这可能是罪魁祸首。如果您想检查是否存在 DEBUG,请尝试以下操作:

#ifdef DEBUG
      // do some things
#endif

【讨论】:

谢谢!我犯了一个愚蠢的错误,错误地检查了 DEBUG 的存在。【参考方案2】:

当我在 Release 中运行应用程序时也发生了这种情况。 我通过这一步解决它: 1. 选择您的目标; 2. 选择构建设置; 3. 搜索“预处理器宏”; 4. 检查[DEBUG=0]是否在Release行; 5. 如果没有,添加[DEBUG=0],然后再次运行。

【讨论】:

这对我来说完美解决了!我们使用 2 种方法来检查它是调试还是发布模式:#ifdef DEBUGreturn DEBUG ? CLIENT_ID_DEBUG : CLIENT_ID_RELEASE; 而不是到处更改代码,确保为发布设置了 DEBUG=0。

以上是关于仅在分析应用程序时使用未声明的标识符的主要内容,如果未能解决你的问题,请参考以下文章

浏览器:标识符输入已经声明,但仅在wordpress上有效?

仅在前台应用:如何避免“未声明后台位置访问”

使用 apportable 编译时未声明的标识符“UITextViewTextDidChangeNotification”

Android Studio 错误消息:使用未声明的标识符“accept4”

Google iOS SDK 无法存档(使用未声明的标识符错误)

发布 iOS 构建错误 - 使用未声明的标识符“Twitter”