有没有办法从iPhone设备读取应用程序日志?类似于Android的LogCat?
答案 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一样。这种方法的优点是:
grep
grep
可用