使用NSLog或CCLog制作的日志是否存储在iPhone中?我可以找回它们吗?

时间:2012-12-11 18:10:58

标签: iphone objective-c ios xcode

在连接到Xcode的设备上测试我的iOS应用程序时,来自NSLogCCLog的日志出现在控制台中,这对我来说非常有用。

当设备未连接到Xcode时,显然我没有得到这样的日志。当它崩溃时,我根本就不知道为什么。

因此,我在这里提出了一个问题:Is there an output log like Xcode's available locally in my iPhone?。但我注意到那些“设备日志”不是我预期的日志。实际上,它们与我在Xcode控制台中看到的日志大不相同,并且它们都没有反映我在项目中完成的NSLogCCLog。所以我想我在寻找错误的地方。

NSLogsCCLogs是否存储在我可以检索的地方?我真的不明白“设备日志”,但他们似乎并没有告诉我任何有用或具体的内容。

5 个答案:

答案 0 :(得分:3)

将您的设备连接到计算机,在Windows Organizer的XCode中,您可以看到设备。您可以选择您的设备,然后单击控制台。它应该显示所有NSLog语句

答案 1 :(得分:0)

您的设备中会记录您的崩溃事件,以便在将手机连接到XCode时检索它们。

1 - 将其插入

2 - 打开XCode并转到管理器(cmd + shift + 2)

3 - 单击Devices,然后在左上角单击Device Logs。

enter image description here

答案 2 :(得分:0)

要向其他(非常标准的)答案添加内容,这里是一个不需要Xcode的解决方案:libimobiledevice library中的idevicesyslog实用程序也可以显示所有日志。

奖励:如果你有一部越狱手机,你可以从Cydia安装syslogd,你所有的系统日志都会保存到一个名为/var/log/syslog的文件中。

答案 3 :(得分:0)

最佳选择是从连接到真实设备的Xcode 运行您的应用程序并查看控制台输出(Shift-Command-Y默认显示/隐藏控制台视图)。

第二个最佳选择是将设备随后连接到您的Mac并使用 iPhone Configuration Utility 查看您的应用特定控制台日志。

第三个最佳选择是使用一些第三方iPhone应用程序,它可以读取设备中的控制台日志(当你在实地考察时或其他什么时候)。警告:我为此目的制作了“Console On Device”应用程序,需要在旅行时调试崩溃。它可以显示特定于应用的日志,并允许通过电子邮件发送它们。

答案 4 :(得分:0)

根据我的经验,大多数用户从不看日志,因此它们没用,只是浪费时间,空间和电池。有些人看日志并且完全没有理由担心,给你不好的评论(“我查看了日志,代码中有很多错误”),所有这些都没有任何好处。

所以摆脱NSLogs。最好定义一个在调试版本中执行NSLog的宏,而在发布版本中没有任何内容。除了该宏之外,源代码中不应该有任何NSLog。