白天在Apple Watch上记录条目并稍后显示

时间:2018-10-23 18:25:04

标签: swift watchkit apple-watch watch

我目前正在开发一个使用后台任务的Apple Watch应用。由于某些原因,大约6个小时后,我在执行这些任务时遇到了问题。

为了进行调试,我希望Watch Extension在白天记录一些语句,稍后再从PC中访问某种日志。根据我对文档的了解,我只能看到Apple Watch Log语句附在调试器上,对我而言无效。

任何人都可以指出我在这里可以做什么的方向吗?

我实际上已经在考虑在手表应用中创建表格视图并显示自定义日志,但是我敢肯定有一种更简单的方法。

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我不确定您到底想做什么,但是无论如何:
我假设您在手表上创建了一些描述异常情况的字符串。

在手表上:
您可以创建此类字符串的数组,并在需要时附加新的字符串。 然后,您可以监视是否可以与iPhone通信。 在添加新字符串时可能会出现这种情况,或者在可能时会收到通知。 在这两种情况下,您都可以将整个字典(取决于字典的大小)作为直接消息或文件发送给iPhone。

在iPhone上:
当带有该词典的直接消息到达时,只需覆盖以前的版本。 因此,最晚在手表靠近iPhone时,您将在iPhone应用程序上拥有完整的日志。 您可以在适当的时候通过电子邮件将其发送到Mac。

我不确定这对您是否可行。

答案 1 :(得分:0)

除了Reinhard建议的方法外,您还可以通过以下任一方式收集完整日志:

  1. 在运行XCode并在Mac上打开控制台应用程序时将手机连接到Mac-您应该在那里看到Apple Watch。但是,它不允许您收集历史数据。

  2. 正在运行的sysdiagnose配置文件也将收集一些历史数据:https://download.developer.apple.com/iOS/watchOS_Logs/sysdiagnose_Logging_Instructions.pdf

基于我的经验的其他一些观察结果:

  1. 背景刷新任务通常非常可靠,除非您每小时调用它们超过4次。但是,当电池电量下降到10%以下时,WatchOS可能会完全停止运行您的后台任务,并且在10%至20%的电量之间似乎有些节流。

  2. WatchOS 5.0.1在处理后台URL会话时似乎有些不稳定。有时,即使超过资源超时,它也会停止下载数据而不会产生任何错误。然后,它再次开始工作。有时,在下一次后台刷新时终止“卡住”的下载任务有助于使它再次正常运行,但并非总是如此。同样,此行为始于5.0.1(或5.0)。

  3. 通过控制台登录可能无法提供所有日志语句。现在它可以更可靠地工作,我不知道升级到Mojave是否有帮助,或者这是一个巧合,但是它曾经删除了一些本应存在的日志语句。