是NSLog()存储在设备(iPhone等)?如果是的话,在哪里?

Dou*_*ull 9 iphone itunes nslog ios

是否应该在iTunes的最终应用程序中删除所有NSLog()调用?

在我的iOS应用程序中,我有很多用于调试的NSLog().在上传到iTunes之前,我应该有条件地将它们编码吗?

这适用于:iPhone,iPod,iPad

谢谢.

小智 7

我将在标题中回答关于日志存储在设备上的位置的OP问题.NSLog()使用ASL(Apple System Logger).以编程方式,您只能读取最后256个条目(例如,Xcode在管理器中显示的内容).

但是,如果要访问完整文件,它们将存储在:

/private/var/log/DiagnosticMessages
Run Code Online (Sandbox Code Playgroud)

当您查看该目录(注意:设备必须是Jailbroken)时,您将找到一长串*.asl文件.

我找到了一个解析这些文件的工具,但我还没有尝试过,所以YMMV:

在iOS和OSX上解析Apple系统日志(ASL)文件以获取乐趣和证据(以及为您完成的Python脚本)


Chr*_*egg 6

你不必删除所有这些; 事实上,如果您的应用程序在用户的手机上崩溃并且您希望他们向您发送崩溃日志,它们会非常有用.当用户同步他/她的手机时,崩溃日志位于该文件夹中

~/Library/Logs/CrashReporter/MobileDevice/<DEVICE_NAME>
Run Code Online (Sandbox Code Playgroud)

如果你有,NSLog()你可能会像调试时那样获得有用的信息.正如其他人指出的那样,不要过度,但它们最终可能会有用.