3

I have an app in iTuens which is quite popular and the user are writing bad reviews saying that the app crashed sometimes without any reason or explanation.

I have tested the app both on simulator and on a real device. It works fine for me and there are no memory leaks in xCode either.

What can I do in this situation to fix the crash? Is there any crash reporting API that I could implement in the app so that the user can send the crash log to me within the app?

  • I believe that you can use [TestFlight](https://testflightapp.com/sdk/) even with a released application to get crash logs and possibly other metrics. – Isaac Mar 23 '13 at 14:52
  • 1
    This answer shows an overview of available options: http://stackoverflow.com/questions/15521494/how-to-generate-crash-report-using-code-like-crash-report-provided-by-apple/15523392#15523392 – Kerni Mar 23 '13 at 14:59
  • Have you checked iTunes Connect to see if any crash reports are available? – rmaddy Mar 23 '13 at 15:39
  • Yes I have. No reports. –  Mar 23 '13 at 15:47
  • 1
    @Kerni, please post your comment as an answer so that I can accept it. It was a great link. –  Mar 23 '13 at 15:47
  • I am using Hockeyapp, it works great. It has helped me reduce the number of crashes substantially. Relying on the crash reports in iTunes is unfortunately like living in a dreamworld. I have gotten 300-400 crash reports over the last year and one (1) of those appeared in iTunes as well. – Sten Mar 23 '13 at 17:52

2 Answers2

10

There are multiple options available, some fully open source, some partly, some free, some paid.

iTunes Connect mostly doesn't work. The reasons are:

  • In older iOS Versions, people needed to sync the device to iTunes, which would then upload the crash reports to iTunes Connect. But these users had to agree to "sending anonymous usage and diagnostic data" to Apple when setting up the device. Most people just don't allow that.
  • In newer iOS Versions (I think it started in iOS 6) the device is sending crash reports directly to iTunes Connect. BUT also in this case, the user has to approve "sending anonymous usage and diagnostic data" when setting up the device. Most people just don't allow that again. You can check yourself if you allowed it in the Settings app under General, About, then scroll down to Diagnostics & Usage.

So the best way to get crash reports (sadly) is to include a crash reporting library into your app. Due to privacy reasons, you should allow the users to allow or deny sending the reports. Most people do allow this, since the dialogs mostly say something like anonymous data to fix the bug that caused the app to crash and (hopefully) won't send any privacy problematic data in then too. But the magic is I think, that it doesn't say usage data in such a global context. Never had problems in all the years not getting crash reports even though showing alerts and letting the users decide, also with an option to Always send.

The following answer shows an overview of available crash reporting solutions: how to generate crash report using code like crash report provided by Apple

Community
  • 1
  • 1
Kerni
  • 15,241
  • 5
  • 36
  • 57
0

Just an update for ios 8 & 9: On your iOS device, go to Settings > Privacy > Diagnostics & Usage, and select Automatically Send or Don't Send. When you turn on Automatically Send, you can also turn on Share With App Developers. This helps developers improve their apps by allowing Apple to share data, as well as statistics about how you use their apps.

zevij
  • 2,416
  • 1
  • 23
  • 32