iOS(iPhone,iPad,iPodTouch)查看实时控制台日志终端
iOS设备上实时查看控制台日志终端的问题是如何产生的以及解决方法是什么?在这篇文章中,这些信息。
这是一个开源程序,它在终端中显示iDevice的系统日志(类似于tail -F的方式)。不需要越狱,输出完全可grep,因此您可以过滤以只看到您的程序的输出。这个解决方案特别好的地方是,您可以查看日志,无论应用程序是否在从XCode启动调试模式下启动。
操作步骤如下:
1. 从我的github账户下载适用于Mac OS X的libimobiledevice二进制文件:https://github.com/benvium/libimobiledevice-macosx/zipball/master
2. 按照此处的安装说明进行安装:https://github.com/benvium/libimobiledevice-macosx/blob/master/README.md
3. 连接您的设备,打开Terminal.app并键入:idevicesyslog
4. 设备的系统日志会实时显示在终端中。
由于它是一个控制台应用程序,您可以使用Unix命令(如grep)来过滤日志。例如,查看特定应用程序的所有日志消息:idevicesyslog | grep myappname
文章中还提到了一些其他问题和解决方法:
- 在iOS模拟器上似乎无法正常工作,会提示"No device found, is it plugged in?"的错误信息。
- 无法在iOS10上工作,会提示"usbmuxd_send: Error -1 when sending: Broken pipe"的错误信息。
- 如果在不使用sudo的情况下运行idevicesyslog,会出现关于"Could not start service com.apple.syslog_relay"的晦涩错误。可能取决于安装方式或其他因素。
- 如果无法正常工作,可以尝试执行以下操作:brew uninstall libimobiledevice ideviceinstaller && brew install --HEAD libimobiledevice ideviceinstaller
以上是关于如何在iOS设备上实时查看控制台日志终端的问题的原因和解决方法的整理。希望对您有帮助!
iOS设备的实时控制台日志终端在Xcode 6中的解决方案是:
1. 从Xcode菜单中选择“窗口 -> 设备”。
2. 在左侧列中选择设备。
3. 点击右侧面板底部左侧的上三角形图标,以显示设备控制台。
在Xcode 6.4中,我看到一个名为“查看设备日志”的按钮,但它只给我提供了崩溃日志,没有找到查看控制台日志的方法。
我已经添加了一个带有上三角形图标的截图。
我的代码中有一些print语句,但在设备日志中没有显示。崩溃跟踪也不可见。当我在模拟器上运行时,我可以看到print语句和错误跟踪。有没有任何输入/指导如何查看设备上的完整日志?
print语句不会显示在日志中,只会显示在stdout中。请改用NSLog。或者可以通过添加一些代码将stdout重定向到文件中。崩溃会被记录下来,并可以使用"View Device Logs"按钮访问。
如果有一个过滤器,你就不必看到它输出的大量垃圾信息了。这种解决方案更好,因为你可以在上面使用grep命令。
这个按钮在Xcode 9.3中已被取消。现在有一个名为"Console.app"的按钮,更加合理。
我还没有更新到最新版本(目前是9.2),你能告诉我这些更改是否最终允许你过滤日志?还是你仍然被无休止的系统日志所困扰,无法丢弃?
是的,Console.app更好用。最近我开始使用idevicesyslog和grep命令。如果你想要基于终端的日志,这个工具非常好用。可以在这里获取:github.com/libimobiledevice/libimobiledevice。我建议你从源代码构建,而不是使用Homebrew,因为我在使用Homebrew时遇到了错误。
好的,我会尽快更新。是的,我知道idevicesyslog,但我无法让它工作,无论是使用Homebrew还是从git仓库获取。我现在正在使用DeviceConsole(我不得不尝试几个git仓库,因为其中一些是损坏的)。为了这样一个简单的东西,需要这么多努力:/
iOS设备(iPhone、iPad、iPodTouch)的实时控制台日志终端问题的出现原因是无法直接查看设备的实时日志。为了解决这个问题,有两个选项可供选择。第一个选项是安装libimobiledevice,可以通过homebrew安装,并且表现出色。它的idevicesyslog工具与deviceconsole工具类似,并且支持通过无线方式查看设备的系统日志。
安装libimobiledevice的步骤如下:
brew install libimobiledevice idevice_id --list // 列出可用设备的UDID idevicesyslog -u
第二个选项是使用rpetrich的deviceconsole,这是一个比上面的ideviceconsole更简单的解决方案。它可以在Xcode 5中直接构建和运行,构建操作会将二进制文件安装到/usr/local/bin以便使用。
使用deviceconsole的示例命令如下:
deviceconsole -d -u| uniq -u && echo " "
然而,有用户提到了一些问题,比如在iOS 10上出现了"Segmentation fault: 11"的错误,以及某些情况下iOS的行为会因为充电与否而不同。针对这些问题的解决方法是确保使用最新的libimobiledevice,并尝试执行以下命令:brew install --HEAD libimobiledevice
。
还有一位用户遇到了"zsh: command not found: deviceconsole"的错误提示,建议尝试使用idevicesyslog
命令,并执行brew list libimobiledevice
命令查看安装的所有二进制文件(它们的前缀都是idevice
)。
,解决iOS设备实时控制台日志终端问题的方法有两种,一种是安装libimobiledevice并使用idevicesyslog工具,另一种是使用rpetrich的deviceconsole工具。具体选择哪种方法取决于个人需求和偏好。