【问题标题】:How can I retrieve messages logged with os_log from iPad/iPhone?如何从 iPad/iPhone 检索使用 os_log 记录的消息?
【发布时间】:2017-07-24 03:24:00
【问题描述】:

我在 Swift 中使用新的统一日志记录 API。

所以我创建了一个记录器并如下使用它:

let testLogger = OSLog(subsystem: "my.subsystem", category: "test")
os_log("just a test: %@", log: testLogger, type: .error, "error")

如果 iOS 设备与 Mac 断开连接,我如何检索记录的消息?

我知道新的控制台应用程序会显示设备连接到 Mac 时记录的消息。但是,我想检索设备与计算机断开连接时记录的消息。我怎样才能做到这一点?

谢谢。

【问题讨论】:

标签: ios swift logging oslog sysdiagnose


【解决方案1】:

在 iOS 11 上,您现在可以捕获 sysdiagnose 并访问 sysdiagnose 以通过电子邮件发送(不要通过电子邮件发送,它很大),或导出到保管箱/空投到您的 Mac。 Instructions.

它的要点是:

  • 按住音量增大、音量减小和电源按钮 1.5 秒,直到屏幕振动。
  • 然后等待最多 10 分钟,然后在您的 iOS 11 设备上转到:

Settings > Privacy > Analytics > Analytics Data > sysdiagnose_[xxx] > tap share icon in the nav bar。对我来说,不到一分钟。

在日志中搜索sysdiagnose。类似于sysdiagnose_2018.12.13_14-16-19-0500_iPhone_OS_iPhone_15G77

然后通过 AirDrop 分享。您不再需要电缆和 iTunes。

【讨论】:

  • 你的意思是说不像 cocoalumberjack,我可以通过电子邮件发送日志,而我无法为 oslog 发送日志?
  • @Honey sysdiagnose 日志的大小约为 300 MB。大多数电子邮件客户端不会让你发送这么大的东西。
【解决方案2】:

我能够发现的唯一方法是在 iOS 设备上触发系统诊断,然后将其连接到计算机并让它与 iTunes 同步,然后从文件系统中收集日志。

要在 iOS 设备上触发系统诊断,您需要同时按下音量增大、音量减小和电源按钮。然后等待它完成。苹果说“10分钟”。然后连接到计算机并与 iTunes 同步。

日志在 macOS 上:

~/Library/Logs/CrashReporter/MobileDevice/[Your_Device_Name]/DiagnosticLogs/sysdiagnose

在 Windows 上,我不确定。

更多详情Apple sysdiagnose intructions

【讨论】:

  • 你的意思是说,不像 cocoalumberjack,我可以通过电子邮件发送日志,而我无法为 oslog 发送日志?
  • 它很大,所以您无法发送电子邮件,但请查看Daniels answer
  • 哈哈。请参阅 Nicoali 答案的编辑历史记录。我试图找到一种方法,用户可以获取 os.log 文件并通过电子邮件发送。 sysdiagnose 不是我想要的
  • @Honey 那么你找到其他方法了吗?
  • @matt No. 见this讨论
【解决方案3】:

来自here的原始答案

目前iOS14中的步骤是这样的:

常规>辅助功能>触摸>>辅助触摸>>单击>>分析

最后,触摸按钮。 Sysdiagnose 将启动。

完成后。禁用它,因为您不想不断触发该系统诊断……

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 2015-09-17
    • 1970-01-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多