iPhone:如何从设备读取应用程序日志

时间:2011-03-03 09:56:13

标签: iphone logging

有没有办法从iPhone设备读取应用程序日志?类似于Android的LogCat?

4 个答案:

答案 0 :(得分:25)

正如Zoul所说,你可以在组织者中获得它们。但在此之前,您应该告诉应用程序将日志存储在Documents文件夹中。这样,当您在管理器中时,提取应用程序数据,您将在那里找到日志。

现在,为了告诉您的应用将NSLog()输出重定向到文件,您应该执行以下操作:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *fileName =[NSString stringWithFormat:@"%@.log",[NSDate date]];

NSString *logFilePath = [documentsDirectory stringByAppendingPathComponent:fileName];

freopen([logFilePath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);

最后一句是实际重定向输出的句子。

因此,一旦完成此操作,您的应用日志将存储在应用程序的文档文件夹中。

您不知道如何提取应用程序数据吗? Here你会发现的。

我希望它可以帮助你。

答案 1 :(得分:4)

从连接到设备的设备?打开Xcode Organizer(Cmd + Shift + O),单击设备,选择Device Logs选项卡。

答案 2 :(得分:1)

您可以使用Mac中的“控制台”应用程序查看设备中的日志。

答案 3 :(得分:0)

如果您使用的是Linux,请安装libimobiledevice,将iPhone连接到计算机并运行idevicesyslog | grep <your app name>。这将显示来自NSLog语句的所有调试信息和日志,就像Android中的LogCat一样。这种方法的优点是:

  1. 您的应用程序没有崩溃以便日志可用
  2. 如果您放弃grep
  3. ,它可以显示来自所有流程的日志,而不仅仅是您的应用
  4. Linux工具的完全过滤功能,如grep可用