2016-11-28 27 views
0

我遇到了一个错误,只有当我的应用程序被冷启动以响应某种类型的远程通知时才会发生。如何在没有附加调试器的情况下拖动iOS设备日志?

为了忠实地重现错误,我需要在真实的设备上以便接收通知,并且由于它发生在冷启动时,我不能将调试器连接到进程。

有什么可以想象的方式让我访问控制台日志(最好是实时)?

我试过这个解决方案:https://github.com/benvium/libimobiledevice-macosx 但它似乎并不适用于最新版本的MacOS。 (我得到的错误usbmuxd_send: Error -1 when sending: Broken pipe X2)

PS-我知道我可以使用Xcode的“设备”窗口,但有一吨的噪音在那里,我不能实时过滤它AFAIK

感谢

+0

我已经在过去使用的两种方法包括:1。登录信息在应用程序的文档文件夹中的文本文件(您可以再检查,当你使用Xcode的设备窗口中的“下载容器”功能) 。我想你可以使用CloudKit,如果你想自动化下载过程。 2.在应用程序中添加tableview,允许我查看消息列表(反向时间顺序很有用),仅在调试时启用。这两者都不是很好的解决方案,但它们都比通过设备控制台(通过设备窗口,恕我直言)看到的更好。 – Rob

+0

@Rob。 Xcode 8.2中的下载容器现在在哪里?我在设备的任何地方都找不到它。附:如果你想写一个Swift/iOS 10版本来推动极限,那将会很棒。 – Gruntcakes

+0

选择设备,然后选择设备上的应用程序,然后点击齿轮图标... – Rob

回答

0

不幸的是,最好可靠办法做到这一点是使用Xcode的设备窗口,清除输出,然后重现bug并最终复制和整个输出粘贴到一个单独的文件。

一旦进入单独的文件,您可以使用grep或类似的工具进行过滤。

这不是完美的,但它每次都适用于我。设置非常明显的日志语句也有帮助。

相关问题