Make your own crash reporter using QuincyKit
While there are a couple of great services (HockeyApp, TestFlight) offering crash reporters for your app, these tend to be a little expensive...$20/month
But even if you are an indie developer, chances are that you have a website for your app and that your hosting plan came with a couple of SQL databases that you never use!
Well, now it's time to put those databases to good use!
A very good example of how this magic works can be found in the inClass app, which, if it crashes for some reason (and it never should!), it will ask the user once if he wants to always send crash reports or never send them.
The open source project we are going to use today is called QuincyKit (GitHub link). It is constantly updated and has a really good documentation and step by step process on how to setup both your iOS app and the server side of things.
And since they have a really good step by step process, I am not going to repeat it. One thing you should be aware is that if you feel a little lost, or feel like the documentation is missing something when you look at the ReadMe or the sample code, don't forget to look at the Wiki. I have found that between the ReadMe, sample code and Wiki, I was able to make it work.
Another quick note: For local symbolification, you can support multiple versions by having multiple directories with the necessary files. The required files are the .app and the .app.dSYM files for the specific version that was submitted to the App Store. An easy way to get these exact files is simply by going to Xcode and opening the organizer, look for the archive that you submitted to the App Store, and share it as an archive file. That will create an archive file that if you right click it, and select 'Show package contents', you will be able to copy the exact files that you need to symbolification. The structure of your directories and files should look something like this:
Now it's time to crush some bugs!
