在连接到Xcode的设备上测试我的iOS应用程序时,来自NSLog
或CCLog
的日志出现在控制台中,这对我来说非常有用。
当设备未连接到Xcode时,显然我没有得到这样的日志。当它崩溃时,我根本就不知道为什么。
因此,我在这里提出了一个问题:Is there an output log like Xcode's available locally in my iPhone?。但我注意到那些“设备日志”不是我预期的日志。实际上,它们与我在Xcode控制台中看到的日志大不相同,并且它们都没有反映我在项目中完成的NSLog
或CCLog
。所以我想我在寻找错误的地方。
NSLogs
或CCLogs
是否存储在我可以检索的地方?我真的不明白“设备日志”,但他们似乎并没有告诉我任何有用或具体的内容。
答案 0 :(得分:3)
将您的设备连接到计算机,在Windows Organizer的XCode中,您可以看到设备。您可以选择您的设备,然后单击控制台。它应该显示所有NSLog语句
答案 1 :(得分:0)
您的设备中会记录您的崩溃事件,以便在将手机连接到XCode时检索它们。
1 - 将其插入
2 - 打开XCode并转到管理器(cmd + shift + 2)
3 - 单击Devices,然后在左上角单击Device Logs。
答案 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。