您可以使用macOS“log stream”或“log show”从连接的iOS设备获取消息吗?

时间:2017-02-09 19:29:56

标签: ios logging macos-sierra

随着macOS 10.12 Sierra中“统一记录”的引入,可以使用log命令查看终端中的系统日志消息。例如

sudo log stream

sudo log stream --process `pgrep -f /usr/local/bin/myprogram` --info --debug

log show --predicate 'process == "myprogram"' --last 1h --info --debug

使用新的“统一”Console.app,可以查看系统消息,还可以查看来自已连接iOS设备的消息。

有没有办法使用log命令或任何其他命令行界面在终端中查看iOS设备消息,或将它们发送到文件?或者Console.app是唯一的方式吗?

2 个答案:

答案 0 :(得分:2)

log collect --device使您可以检索熟悉的所有选项的日志归档文件,这些归档文件可以传递到log show --archive system_logs.logarchive中。

使用log collect --device自动猜测您所指的设备。 log collect device-name="Maxs iPhone"log collect device-udid=abcdefg即可从特定设备进行收集。

log collect --output /your/path将其保存到您指定的文件名或目录中。如果未提供--output,则您的输出将在当前目录中显示为system_logs.logarchive

注意:有时我会遇到关于log: failed to create archive: Device not configured (6)log: failed to create archive: Connection reset by peer (54)的错误,但是如果我重新运行命令,它有时会起作用??‍♀️

答案 1 :(得分:0)

我不确定这会有所帮助,但如果您可以访问要记录的应用程序的源代码,则可以添加NSLog打印并将其发送到文件,您可以使用iTunes Connect查看/检索该文件您需要添加到.plist文件中关于文件共享的小更改。