【问题标题】:nslog stopped working in xcodenslog 在 xcode 中停止工作
【发布时间】:2023-03-09 15:12:02
【问题描述】:

我有一个奇怪的问题,可能是一个错误。我的 NSLog 语句已完全停止工作,即使在视图加载、应用程序完成启动等情况下它们也不会打印。它们都变成了棕色(与 xcode 中的编译指示标记相同)并且它们都有一个警告说'表达式结果没用过'。有没有人见过这个或知道该怎么做?我是否以某种奇怪的模式运行?我正在运行 xcode 4.0.2。

非常感谢

朱尔斯

【问题讨论】:

  • 您是否尝试过关闭并重新打开 Xcode?它有时会生气......
  • xcode 4.0.2 确实有点错误......但无论如何,你确定它没有在某处重新定义吗?您可以尝试 cmd+单击 NSLog 以查看它是否会导致您进入任何“非标准”定义...
  • 试过重启xcode,重启机器,也没有非标准定义。我很困惑?
  • 我不知道发生了什么,但这里有一些想法。执行 Edit > Find in Workspace (⇧⌘F) 并查找 #define NSLog 以查看 NSLog 是否在其他地方重新定义。 NSLog 的 XCode 控制台部分只是一个fprintf,没有理由停止工作,除非它被重新定义或使用freopen 重定向。 expression result unused 部分的意思是它所说的,一个常见的原因是使用类似 *var++ 而不是 (*var)++
  • 我认为它不应该存在(除非它现在是 xcode 中代码模板的一部分?),但无论如何我猜测目标是当代码投入生产时,如果您留下任何 NSLog 调用,它们基本上会被删除(因为这就是将 NSLog 定义为“无”的作用)。就我个人而言,我更喜欢使用自己的日志宏并通过调试配置中的调试预处理器宏来控制它。见:iphoneincubator.com/blog/debugging/…

标签: iphone xcode nslog


【解决方案1】:

为了完整起见,我遇到了同样的问题,但答案不同,希望它可以帮助碰到这篇文章的其他人:

我有一个重新定义 NSLog 的框架(亚马逊的),去那里(Cmd+单击棕色 NSLog)并注释掉重新定义...

【讨论】:

    【解决方案2】:

    实际问题是 release_build 设置为 1。所以它无法识别 nslog,正如你所说的那样,它是为发布版本设置的。

    【讨论】:

    • 那么你在哪里改变了这个?
    【解决方案3】:

    我有同样的问题:

    对我有用的方法如下:

    • 删除派生数据文件夹
    • 删除派生数据后执行清理操作(您可以在产品菜单中看到此选项)

    • 退出 Xcode 并重新启动。

    这使我的所有 NSLog 都正常工作。

    希望这有帮助

    【讨论】:

      【解决方案4】:
      1. 确保选择的方案对应于调试模式,因为有时 pch 文件可能有一些定义,因此日志记录仅在调试模式下完成 (Scheme在你选择iPhone Simulator / iOS Device的地方左边)

      2. 在视图中选择调试区域 (有3个查看按钮,在Xcode的右上角,按中心按钮)

      3. 选择“显示变量视图和控制台” (调试区(底部)有3个按钮,按中间按钮)

      【讨论】:

        【解决方案5】:

        我遇到了同样的问题,问题是我正在构建一个 Ad Hoc 版本(架构用于 Ad Hoc 构建)。当我为调试构建时,警告消失了。

        【讨论】:

          【解决方案6】:

          尝试将控制台底部的下拉菜单更改为“所有输出”。

          【讨论】:

            【解决方案7】:

            如果您使用的是“KScan”、“iKEA”或“kdc-scan”等库,那么它们可能会调用“redirectNSLogToDocuments”这样的方法。

            在我的例子中,“iKEA”的对象调用了“CheckIfDeviceConnected”方法,这个方法将所有 nslog 输出重定向到文档。注释掉后,所有 nslogs 都会再次工作:)

            希望这对某些人有用。

            【讨论】:

              【解决方案8】:

              一些步骤:-

              1) “清除所有目标”或删除您的构建并重新构建。

              2) 如果步骤 1 不起作用,请重新安装 xcode

              【讨论】:

              • 感谢您的帮助,当您说删除构建时,您是什么意思?
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2013-10-07
              • 2012-03-24
              • 1970-01-01
              • 2015-01-03
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多