MacDevCrashReports is running out, since I am not able to continue providing the service for free, the amount of data is just too huge. 100.000 crash reports e.g. require about 2GB of storage. BUT I am working on a new service with some friends to provide enhanced functionality for managing crash reports and other developer related data. You might want to check for HockeyApp for news about that.
Until then, you can also use the source MacDevCrashReports is based on, on your own web server. It is completely open source and available at GitHub.
The process of collecting crashes is using PLCrashReporter. Which is more reliable and is async-safe. There are also cases of crashes, like crashes in objc runtime, where it will result in a deadlock (Information by Landon Fuller, creator of PLCrashReporter).
Symbolication of PLCrashReporter created crash log files, can be done with the dSYM bundles, check this description.
Regarding the AppStore argument from Peter. As Patrick points out, this is not working for Ad-Hoc builds, which is one big issue, since you want to find and fix the crashes while testing. On the other side, the crash reports in iTunes Connect are very inaccurate:
- The data set only updates once a day
- The data is only available after users sync their devices with iTunes and only IF they agreed sending that data. Since most users don't understand the dialog, they deny
- You only get a subset of crashes, the top 5
- You don't get instant reports, as opposed using an in-app reporter
- You don't get grouping of similar crashes as the web service does
- You don't get a web interface to work with the crashes, make notes, mark as fixed, etc.
iTunes connect reports for my app to have 0 (zero) crashes, but in my database there are about 200! Check this blog post by futuretap about their experience and findings of using an in-app crash reporter.