开发者

iPhone: How to read application logs from device

Is there a way to read the application logs开发者_如何学Python from the iPhone device? Something similar to LogCat of Android?


As Zoul said, you could obtain them in the Organizer. But prior to that, you should tell your application to store the logs in the Documents folder, for example. That way when you are in the Organizer,extract the application data and you will find the logs there.

Now, in order to tell your app to redirect the NSLog() outputs to a file, you should do something like this:

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);

The last sentence is the one that actually redirects the output.

So once you have done that, your app logs will be stored in the application's documents folder.

Don't you know how to extract the application data? Here you shall find out.

I hope it helps you out.


From the device connected to your machine? Open the Xcode Organizer (Cmd+Shift+O), click on the device, select the Device Logs tab.


You can use the "Console" application in Mac to see the logs from the device.


If you are on Linux, install libimobiledevice, connect your iPhone to your computer and run idevicesyslog | grep <your app name>. This will show you all debug info and logs from NSLog statements, just like LogCat in Android. The advantage of this method:

  1. your app doesn't have crash in order for logs to be available
  2. It can show logs from all processes, not just your app if you drop the grep
  3. Full filtering power of Linux tools like grep available
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜