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

Can you use macOS "log stream" or "log show" to get messages from connected iOS devices?

随着 macOS 10.12 Sierra 中 "Unified Logging" 的引入,人们可以使用 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

使用新的 "unified" Console.app,可以查看系统消息,也可以查看来自连接的 iOS 设备的消息。

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

tl;dr: log collect —device

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) 的错误,但如果我重新运行命令,它有时会起作用 ‍♀️