I switched from TestFlight to HockeyApp recently and couldn’t be happier. It’s not that I was ever unhappy with TestFlight — each is probably better in different ways, and you should use TestFlight if you prefer it — but for me HockeyApp just fits better. I thought I’d take some time and explain why I like it so much.
HockeyApp Is a Payed Service
This is the feature that made me want to check out HockeyApp in the first place: they make me pay them. I have no confusion what my relationship with the company is. Because of this I feel they’ll stick around, are more likely to always treat me like a valued customer and I that can expect to not be surprised by radical changes as a result of developing new business models.
Once I started my trial, it became clear that crash reporting is the standout feature of HockeyApp. The library they’ve created is called QuincyKit, and the server component can either be self hosted, or with HockeyApp (you get a couple of extra features this way).
All you have to do is enter the details for this version of your app and the dsym file to get fully symbolicated crash reports. You can also upload the xcarchive file Xcode generates when you archive using their uploader app for Mac, and it’s everything’s handled automatically.
It’s already helped track down some crash-bugs that I never would have found otherwise, and I’ve heard the same from other developers.
Issue Tracker Integration
On top of just showing crash reports, they can be also be easily integrated with just about every bug tracker I’ve ever heard of. I use GitHub Issues, and have HockeyApp set to automatically generate a new ticket whenever a crash report comes in.
I don’t currently include analytics in the release versions of my apps, mostly because I don’t want to have other peoples code in my apps any more than necessary1. But during testing I’d like to see things like who’s downloaded the app, how long it’s been ran for and what devices it’s been ran on. The HockeyKit library gives me all of that as well as over the air updates for testers.
I don’t have any issue with apps that use analytics, but tracking users (non-identifiably) wasn’t helping me sell more copies, wasn’t helping me improve my apps and gave me another way to distract myself. ↩