Under the Bridge

Ad Hoc + Crash Reporting

So it’s been quite a while since we last surveyed the state of ad hoc distribution, and even longer since we made any notes about crash reporters — remember when CrashReportSender was a massive novelty? Ah, how the time does fly — but the progress in merging those functions has been dramatic enough that yep, let’s pick today to get out of our comfortable rut and try something new.

To bring you up to mid-June speed, this was a comprehensive-appearing overview of state of the art at that point:

The battle of the iOS crash reporters

Want the short version? Use HockeyApp.

We generally concurred, although the pricing was problematic for those of us who do lots of little apps; but there is the alternative of setting up your own server with the open source HockeyKit/QuincyKit combo which power the HockeyApp service. Unfortunately, time isn’t free either, which is why that hasn’t happened. In the meantime, HockeyApp’s added Bug Tracker Integration and various process improvements and the HockeyMac Xcode upload helper. Busy busy busy, those HockeyApp folk!

You might note in the comments that we mentioned the Crittercism “Support Infrastructure for Mobile Apps”, which a project we’re involved with was trying out at the time. Nice mix of services, but not ad hoc distribution, which is a rather natural pairing for your crash reporting solution, so that takes it out of serious consideration here.

And at just about the time that was written another beta distribution service Apperian AppRamp was introduced allegedly addressing issues with Testflight, which was newish at the time of our last survey and we didn’t really see any compelling reason to move away from our trusty friend BetaBuilder. It also doesn’t appear to include any crash reporting functionality.

So that wraps it up right, game set and match to the HockeyApp team? Well…

If You Weren’t Using TestFlight Before, You Will Be Now With Their New SDK

Will we now? And why would that be?

… All the features announced today are Free, including Enterprise IPA support.

  • Crash Reports : Real time reports with environment snapshots, full session activity, and your NSLogs.
  • Check Points : Monitor tester engagement and watch as they progress through your app…
  • Sessions : Discover how testers are using your application…
  • In-App Questions : Get the answers you need right when you need them…
  • Feedback : Gather more feedback with in-app forms or via tester email replies…
  • In-App Updates : Prompt testers to install the latest version of your app and they can update instantly over-the-air.
  • Enterprise IPA Support: …added benefit of unlimited devices with all the TestFlight features.
  • Build Reporting : View realtime build status and tester activity.

Hmmm. That’s a lot for free, indeed. The one thing is, we really quite like QuincyKit’s symbolication integrated into HockeyApp … oh, wait …

Real time symbolication

We wrote a portable version of Apple’s closed source atos command line tool to power TestFlight’s new real time symoblication of crash reports. We are considering open sourcing this tool for the iOS community to leverage as a whole if there’s interest.

To use this new feature, upload a .dSYM via the crashes page; your crashes will be symbolicated as they occur and you can start solving issues even faster…

OK, well, that kinda tips the balance from tempting to compelling, given the whole “free” thing, wouldn’t you say? Questionable as the long-term prospects of that business model would appear, at the moment TestFlight does indeed appear to be the support service par excellence for the frazzled iOS developer. So off to grab the SDK we go … and we’ll be sure to update you if we encounter any reason to reconsider!

UPDATE:

Ah, here’s the reason to reconsider: Using SDK in product for crash collection on app store?

As of right now applications from the app store sending us data is not something that we officially support and once we have a full solution for that we will be making a more public announcement.

Well, having our crash reporting solution work with App Store builds is kinda a requirement, yes. We’ll see what happens on this front, but that’s kinda an obvious candidate for a premium service. Which would very likely incline us back to setting up the QuincyKit/HockeyKit stack ourselves in order to get full control of the process. In the meantime, why yes so far TestFlight is very pretty and convenient, just as advertised!

Beta Testing iOS Apps Made Easy has handy TestFlight deployment scripts.

MORE UPDATES:

Quality Tracking/Crash Reporting Services for Mobile Apps covers the October 2012 state of the tools:

kstenerud / KSCrash looks like it does a more thorough job that the established players

1