您可以使用 macOS 的“日志流”或“日志显示”从连接的 iOS 设备获取消息吗?
Posted
技术标签:
【中文标题】您可以使用 macOS 的“日志流”或“日志显示”从连接的 iOS 设备获取消息吗?【英文标题】:Can you use macOS "log stream" or "log show" to get messages from connected iOS devices? 【发布时间】:2017-02-09 19:29:56 【问题描述】:随着 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 是唯一的方法?
【问题讨论】:
你明白了吗? 它很旧,我还没有尝试过,但你应该看看这个项目,也许它会起作用:github.com/benvium/libimobiledevice-macosx 另外,请注意它不是统一记录器的一部分,它只是另一个使用终端而不是控制台进行 grep 的工具 @Jan 我的回答有帮助吗? 【参考方案1】: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)
的错误,但如果我只是重新运行命令,它有时会起作用 ??♀️
【讨论】:
这意味着真的没有从设备流式传输的选项吗?疯了..所以我们需要使用 Console.app :/ "--device" 选项似乎只在 mac os 10.15 中引入,以前从设备收集日志不可用? 我每次都会收到“日志:无法创建存档:设备未配置 (6)”。我在任何地方都看不到修复。有什么想法吗? 你把它设置为开发设备了吗?通过 Lightning 将设备连接到您的 Mac,打开 Xcode 并转到“设备和模拟器”,然后尝试添加您的 iOS 设备以上是关于您可以使用 macOS 的“日志流”或“日志显示”从连接的 iOS 设备获取消息吗?的主要内容,如果未能解决你的问题,请参考以下文章