3

尽管这些天调试器已经变得很好,但有时找出应用程序中正在发生的事情的最佳方法仍然是 ye olde NSLog。当您连接到计算机时,这样做很容易;Xcode 有用地弹出 Log Viewer 面板,然后就可以了。当您离开办公桌时,这样做并不容易,因为您有时必须在测试应用程序时(例如,当您测试 CoreLocation 功能时)。当然,您可以在从测试运行返回后立即打开 Xcode 并检查设备管理器的控制台部分,但是您必须等待,等到您可以返回查看日志时,您会忘记发生了什么你的应用有问题;也很有可能,当您能够执行此操作时,您正在寻找的日志消息已经被遗忘了。

有没有办法检查设备本身的控制台日志?我猜答案是“不,除非你越狱”(IIRC 在越狱领域至少有一个或两个终端应用程序可以用来做这种事情)。不幸的是,越狱不是我的选择。

或者,是否有某种 Objective-C 框架或库或诸如此类的东西来处理日志收集和设备上显示?理想情况下,这将以直接替换的形式出现NSLog,我可以简单地进行搜索和替换并更改所有出现的NSLogtoSomeFancyPantsLoggingTool或任何内容,然后用它来完成。

我正在寻找的那种功能的一个很好的例子可以在播客客户端Downcast中找到。如果您点击“更多”选项卡,然后点击屏幕底部的版本号字符串,则会向上滑动一个新视图,其中包含累积日志消息的可滚动视图。它甚至有一种简单的方式将上述日志邮寄到支持电子邮件地址。

4

2 回答 2

0

查看LibComponentLogging,您可以将其配置为在不同级别和不同目的地输出日志记录。

于 2013-07-13T22:58:02.890 回答
0

有一个 SysLog 文件。您可以简单地打开它并从中读取。该文件位于 /var/log/syslog。如果该文件不存在,这里有关于如何设置的说明

于 2013-07-20T23:10:29.213 回答