如何获取 XCode 应用程序的日志

Posted

技术标签:

【中文标题】如何获取 XCode 应用程序的日志【英文标题】:How to get logs for the XCode application 【发布时间】:2017-02-14 17:50:55 【问题描述】:

我正在寻找 Xcode 应用程序本身的日志。不是我的 ios 应用或设备的日志。

我一直在用故事板源代码 xml 做一些实验性的工作。有时我会收到 Xcode 随机崩溃或类似“无法打开文档 Main.storyboard”的消息。无法验证文档内容”(这与 git 冲突无关)

我想查看日志,看看它是否提供了有关 xml 的哪一部分导致这些崩溃或错误的线索。

注意:通过查看“控制台”应用程序,我能够找到一些额外的崩溃信息。但不是错误信息。

谢谢。

【问题讨论】:

【参考方案1】:

这里有几件事。首先,我不相信 Xcode 会编写任何专用的日志文件(与 android Studio 不同,它将日志放在 ~/Library/Logs/AndroidStudio2.2 下)。话虽如此,有几个地方可以得到它们:

1.设备日志

Xcode 使用系统日志将其消息记录到控制台。如果您打开控制台应用程序,请在设备列表中找到您的 macOS 设备并查看消息。默认情况下,它显示来自所有应用程序的所有消息,但是您可以通过 PROCESS - Xcode 过滤我们的(过滤有点不直观,您首先搜索生成 ANY|Xcode 过滤器的 Xcode,然后选择 ANY 并将其更改为 PROCESS )。

macOS Sierra 上的控制台应用程序的一个问题是它只显示您启动控制台应用程序时的日志,而不是更早的日志。您可以使用log 命令行收集以前的日志(例如sudo log collect --last 1d)。你可以找到更多关于它的信息here。

或者,您实际上可以从终端启动 Xcode(通过在终端窗口中输入 /Applications/Xcode-beta.app/Contents/MacOS/Xcode)。如果这样做,所有日志都将写入终端控制台。

2。诊断报告

这些(也可以通过控制台应用程序访问)将包含 Xcode 本身不记录的崩溃(在某些情况下 Xcode 会默默地死掉,但诊断报告可能仍然包含错误以及调用堆栈和其他有用信息)。请注意,在 ~/Library/Logs 和 /Library/Logs 下有两个存储诊断报告的位置 - 请务必检查两者。

【讨论】:

以上是关于如何获取 XCode 应用程序的日志的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 10 - 获取单元测试日志文件

Xcode:如何摆脱这个 AdMob 日志消息?

iOS获取崩溃日志

iOS测试随笔崩溃日志获取

如何以编程方式获取 Xcode 显示的线程名称

如何在 Xcode 中获取 HTML 元素?