16
votes

When using one's own iPhone for development it's easy enough to access any crash logs via XCode->Organizer->Crash Logs.

How does one access crash logs on another person's phone if they don't have it set up for development in XCode, as would likely be the case if you were distributing your app to them via ad hoc distribution for beta testing?

5
Any Updates to this annoying topic?!Henrik P. Hessel

5 Answers

21
votes

Two ways:

  • iTunes syncs all crash reports during a regular sync. They can be found in Library/Logs/CrashReporter/MobileDevice on a Mac and probably somewhere in %APPDATA% on Windows.

  • You can use the iPhone Configuration Utility for Mac OS X on any Mac to access the phone's console and crash logs. Note: the iPhone Web Configuration Utility, which is available for Windows and Mac (note the "web" in the name) does not allow this kind of access and only provides a portion of the Configuration Utility's features. Er, no you can't. Xcode provides this facility in the Organizer (from the Window menu), but not iPCU.

11
votes

From Apple's Technical Note TN2151:

For applications that have been distributed using Ad Hoc or Enterprise methods, getting crash reports requires user cooperation. Specifically, the user will need to retrieve the crash report from the directory where it was copied by iTunes. Depending on the platform, the directory is:

Mac OS X: ~/Library/Logs/CrashReporter/MobileDevice/<DEVICE_NAME>

Windows XP: C:\Documents and Settings\<USERNAME>\Application Data\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>

Windows Vista or 7: C:\Users\<USERNAME>\AppData\Roaming\Apple Computer\Logs\CrashReporter\MobileDevice\<DEVICE_NAME>

<USERNAME> is the user's login name for the computer. <DEVICE_NAME> is the name of the iPod touch or iPhone, for example, "John's iPhone".

You are only interested in .crash files. The crash report's file name begins with the application name and contains date/time information. In addition, <DEVICE_NAME> will appear at the end of the file name, before the extension.

3
votes

Related to what @millenomi said - from what I can tell, crash logs are downloaded when you connect your iPhone to the computer, not when you sync the phone via iTunes. If your users have iTunes configured to not sync on connection, knowing this can save them the time of syncing. Along those same lines, if your application crashes while it's connected to a computer, simply syncing via iTunes is not enough to download crash logs - I've found that I need to disconnect and reconnect the phone to the computer.

I've only tested this on iPhones and iPod touches that are configured as development devices. Don't know if this makes any difference.

1
votes

On an iPhone 5, you do not need to connect the iPhone to iTunes to see the logs. Not sure about other iPhone versions but you can get to the logs by opening up Settings and then navigating to:

Settings -> General -> About -> Diagnostics & Usage -> Diagnostics & Usage Data

For the app you are looking for all crash logs should be in this area as:

-.ips

Not 100% sure if this works only for ad hoc apps or not. I think it works for any apps.