【发布时间】:2011-11-08 19:40:08
【问题描述】:
有没有办法查看实时控制台日志,可以实时查看NSLog等调试信息,比如adb logcat?
【问题讨论】:
-
你是说你想要一些相当于
Utilities/Console.app的IOS?
标签: ios
有没有办法查看实时控制台日志,可以实时查看NSLog等调试信息,比如adb logcat?
【问题讨论】:
Utilities/Console.app的IOS?
标签: ios
Apple 在 Technical Q&A QA1747 Debugging Deployed iOS Apps for Xcode 6 中记录的解决方案是:
【讨论】:
print 语句不记录,只记录stdout。请改用NSLog。或者可以将stdout 重定向到添加了一些代码的文件。崩溃会被记录下来,并且可以使用“查看设备日志”按钮进行访问。
两种选择:
libimobiledevice 可以通过homebrew 安装并且效果很好。它的idevicesyslog 工具的工作原理与deviceconsole(下图)类似,它支持无线查看设备的系统日志(!)
我已经写了更多关于 on Tumblr tl;dr:
brew install libimobiledevice
idevice_id --list // list available device UDIDs
idevicesyslog -u <device udid>
设备通过 USB 连接或在本地无线网络上可用。
(保留历史记录,从 2013 年开始:)来自 rpetrich 的deviceconsole 是一个比上面的 ideviceconsole 少得多的古怪解决方案。我的fork of it 在开箱即用的 Xcode 5 中构建和运行,构建操作会将二进制文件安装到 /usr/local/bin 以方便使用。
作为一个额外有用的信息,我以以下样式使用它,这样可以很容易地在我的 shell 历史记录中找到我想要的设备,并删除deviceconsole 打印出来的不必要的> 行。
deviceconsole -d -u <device UDID> | uniq -u && echo "<device name>"
【讨论】:
libimobiledevice。 (有线和无线日志查看在我的 10.11 上的 Mac 和我在 iOS 10.2 上的 iPhone 上工作)
brew install --HEAD libimobiledevice。为我工作。
编辑:请使用@cbowns 解决方案 - deviceconsole 与 iOS9 兼容并且更易于使用。
这是一个开源程序,可以在终端中显示iDevice的系统日志(方式类似于tail -F)。不需要越狱,并且输出完全可以grep'able,因此您可以过滤以仅查看程序的输出。该解决方案的特别之处在于,无论应用程序是否在 XCode 中以调试模式启动,您都可以查看日志。
方法如下:
从我的 github 帐户获取 Mac OS X 的 libimobiledevice 二进制文件 https://github.com/benvium/libimobiledevice-macosx/zipball/master
按照此处的安装说明进行操作: https://github.com/benvium/libimobiledevice-macosx/blob/master/README.md
连接您的设备,打开 Terminal.app 并输入:
idevicesyslog
向上弹出设备系统日志的实时显示。
由于它是一个控制台应用程序,您可以使用 unix 命令过滤日志,例如 grep
例如,查看来自特定应用的所有日志消息:
idevicesyslog | grep myappname
摘自我的博客http://pervasivecode.blogspot.co.uk/2012/06/view-log-output-of-any-app-on-iphone-or.html
【讨论】:
No device found, is it plugged in?
brew uninstall libimobiledevice ideviceinstaller && brew install --HEAD libimobiledevice ideviceinstaller
只需在 mac osX 上打开应用程序 Console.app。
您可以在Applications > Utilities > Console 下找到它。
在应用程序的左侧列出了您连接的所有设备。
【讨论】:
试用免费软件iOS Console。只需下载、启动、连接您的设备 - 瞧!
【讨论】:
Console.app [macOS 自带的]?
这可能就是您要查找的内容:Xcode Organizer
【讨论】:
设备 > 终端输出在 iPhone 配置应用上
【讨论】:
您有三个选择:
所以,要获得 2º,您只需要从 Cydia 安装 syslogd 和 OpenSSH,之后需要重新启动才能让 syslogd 运行;现在只需打开一个到您设备的 ssh 会话(通过终端或 windows 上的 putty),然后输入“tail -f /var/log/syslog”。好了,无线实时系统日志。
如果您想尝试 3º,只需在线搜索“dup2”,这是一个系统调用。
【讨论】:
要在 Mac 上的 Safari 中查看 iOS 设备的控制台(显然仅限于 Mac):
Safari 的 Inspector 将显示一个适用于您 iOS 设备的控制台。
【讨论】:
作为替代方案,您可以使用 屏幕上 日志记录工具(例如 ticker-log)来查看日志,而无需(方便)访问控制台。
【讨论】: