有没有一种方法可以实时查看控制台日志,以实时查看NSLog和其他调试消息,例如adb logcat?
有没有一种方式可以像使用adb logcat一样实时查看控制台日志,以便查看NSLog和其他调试信息?有没有一种方法可以实时查看控制台日志,以实时查看NSLog和其他调试消息,例如adb logcat?
有没有一种方式可以像使用adb logcat一样实时查看控制台日志,以便查看NSLog和其他调试信息?苹果在技术问答QA1747中记录的解决方案:调试已部署的iOS应用程序适用于Xcode 6,步骤如下:
print
语句不会被记录到日志中,只会输出到stdout
。请使用NSLog
代替。或者可以通过添加一些代码将stdout
重定向到文件中。崩溃信息会被记录下来,并且可以通过“查看设备日志”按钮进行访问。 - Marián Černýidevicesyslog
工具类似于下面的deviceconsole
,并且支持无线查看设备的系统日志(!)
我在Tumblr上写了更多关于此事的内容。tl;dr:brew install libimobiledevice
idevice_id --list // list available device UDIDs
idevicesyslog -u <device udid>
使用USB连接设备或通过本地无线网络可用。
(保留历史记录,来自2013年:)rpetrich的deviceconsole比上面的ideviceconsole少了很多疯狂的解决方案。我的fork版本可以直接在Xcode 5中构建和运行,Build操作将二进制文件安装到/usr/local/bin
以便于使用。
作为额外的有用信息,我使用以下样式使其易于在shell历史记录中找到我想要的设备,并删除deviceconsole
打印出来的不必要的>
行。
deviceconsole -d -u <device UDID> | uniq -u && echo "<device name>"
libimobiledevice
。(有线和无线日志查看在我的 Mac 上 10.11 和我的 iPhone 上 iOS 10.2 上都可以工作) - cbownsbrew install --HEAD libimobiledevice
,可以解决 https://github.com/libimobiledevice/libimobiledevice/issues/356 问题。我已经验证过了。 - rustyMagnet编辑:请使用 @cbowns 的解决方案,deviceconsole 可兼容 iOS9 且更易于使用。
这是一个开源程序,可以在终端中显示 iDevice 的系统日志(类似于 tail -F)。不需要越狱,并且输出完全可搜索,因此您可以过滤以仅查看来自您的程序的输出。这种解决方案特别好的地方在于您可以查看日志,无论应用程序是否从 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
brew uninstall libimobiledevice ideviceinstaller && brew install --HEAD libimobiledevice ideviceinstaller
- Akshet只需在Mac OS X上打开应用程序Console.app
。
您可以在应用程序
> 实用工具
> 控制台
下找到它。
在应用程序的左侧列出了所有连接的设备。
试用免费软件iOS Console。只需下载,启动,连接您的设备--et voila!
Console.app
? - rustyMagnet设备 > 终端输出位于 iPhone 配置应用程序中。
要在Mac上的Safari中查看您的iOS设备的控制台(仅适用于Mac):
Safari的检查器将显示您的iOS设备的控制台。