Several options are available, some fully open source, some partially, some free, some paid.
iTunes Connect basically does not work. The reasons are as follows:
- In older versions of iOS, users had to sync the device with iTunes, which then uploaded crash reports to iTunes Connect. But these users had to agree to "send anonymous usage and diagnostic data" to Apple when setting up the device. Most people simply do not allow this.
- In newer versions of iOS (I think it started in iOS 6), the device sends crash reports directly to iTunes Connect. BUT also in this case, the user must approve the "sending anonymous usage and diagnostic data" when setting up the device. Most people simply do not allow this. You can check yourself if you enabled it in the Settings app under
General , About , and then scroll down to Diagnostics & Usage .
So the best way to get crash reports (unfortunately) is to include a crash report library in your application. Due to confidentiality considerations, you must allow users to allow or reject reporting. Most people allow this, because in dialogue mode they mostly say something like anonymous data to fix the bug that caused the app to crash and (hopefully) will not send any privacy problems at the same time. But magic, I think, does not say usage data in such a global context. There has never been a problem for all years without receiving crash reports, even if they displayed warnings and allowed users to solve, as well as with the Always send option.
The following answer provides an overview of the available crash reporting solutions: how to generate a crash report using code such as a crash report provided by Apple .
Kerni source share