如何从iPad / iPhone检索使用os_log记录的消息?

时间:2017-03-03 21:23:49

标签: ios swift logging oslog sysdiagnose

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

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

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

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

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

谢谢。

3 个答案:

答案 0 :(得分:8)

在iOS 11上,您现在可以捕获sysdiagnose并访问sysdiagnose以便通过电子邮件发送(不要通过电子邮件发送,这是巨大的),或者导出到dropbox / airdrop到Mac。 Instructions

它的要点是:

  • 按住音量调高音量并按下电源键1.5秒,直到屏幕振动。
  • 然后等待最多10分钟,然后在iOS 11设备上转到:

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

您需要向下滚动到以s开头的数据,然后它将类似于sysdiagnose_2018.12.13_14-16-19-0500_iPhone_OS_iPhone_15G77

然后通过AirDrop分享。你不再需要有线和iTunes了。

答案 1 :(得分:2)

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

要在iOS设备上触发sysdiagnose,您需要同时按下音量增大,音量减小和电源按钮。然后等待它完成。 Apple说" 10分钟"。然后连接到计算机并与iTunes同步。

日志在macOS上:

Company.select('companies.id, avg(jobs.level_of_interest)')
       .joins(:jobs)
       .group('companies.id')
       .order('avg(jobs.level_of_interest) desc')

在Windows上,我不确定。

Apple sysdiagnose intructions

中的更多详情

答案 2 :(得分:1)

here的原始答案

iOS14中的当前步骤如下:

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

最后,触摸按钮。 Sysdiagnose将开始。

enter image description here