A few years ago, there was an incredibly thorough (read: settle in, this is going to take a while) examination of the top options for iOS crash reporting
, written by Cesare Rocchi on the Ray Wenderlich site. He zeroed in on:
Since then, however, there have been a few big changes. Most notably:
Crashlytics became part of Fabric.
Bugsense has been rolled into Splunk Mint.
TestFlight was bought by Apple.
HockeyApp was bought by Microsoft.
Rocchi's original two-part series is still a valuable resource and a good place to start. Here's an updated view of the market with recommendations for free and paid crash reporting tools based on the size of your development team.
Breakdown of Crash Reporting Tools:
This is still one of the most useful crash reporters out there. It goes beyond stack traces to analyze every thread and assign impact levels so you know how to proceed. It helps you prioritize, work down from the most critical crash reports and know what you have to do next. Many developers say the best part is the design because it is so straightforward and intuitive. Best for: Freelancers, SMBs. Pros: The mobile exception tracking is excellent and you can't beat the price (free). Deployment is simple. Cons: There aren't a lot of analytics yet, though the Answers solution is designed address that. Customer support is spotty, so you have to know what you're doing. (Update: Crashlytics contacted me directly right after I posted this blog to ask what issues I was having with their customer support and ask how they can improve it. It looks like they are indeed listening - kudos)
One of the newer entries in the field, Parse Crash Reporting arrived at the end of 2014 and has been growing by leaps and bounds. It will help both find and fix crashes for iOS with simple console logs and alerts. With the funding of Facebook behind it, expect Parse to add on more features rapidly. It's already added a dashboard for analytics, cloud modules for integrations with third-party services, and a code library called Parse Bolts. Best for: Freelancers, SMBs. Pros: Combination of crash reporting, fixes and analytics. Well-funded with new features are being added all the time. Cons: It has been around for less than a year, so it's hard to make a comprehensive evaluation.
At time of publishing, the Xcode 7.2 beta 4 is in pre-release. The strengths of this new version come from its built-in integration and bundled symbolization features. The problem with relying on Apple is that users need to opt into data sharing with Apple itself. As a result, there will be a much smaller sampling of all crashes occurring in your app. Best for: SMBs. Pros: It comes directly from Apple, so you automatically get built-in integration and bundled symbolization. Cons: Users have to share data with Apple, so the sample size of crashes you can see will be limited.
Crittercism is still going strong and staying independent with investments from companies like Google Ventures. Their revenue doubled in 2015 and they just passed 1 billion installs. Although they are still focused on crash reporting, this year they partnered with Adobe Analytics to bolster the data end with metrics like user engagement. Best for: Enterprise Pros: Rapid growth and expansion to incorporate analytics beyond the crash report. Cons: The free level is decent, but their best features, such as full support, breadcrumbs, geolocation, trends, etc., are at the paid level that requires negotiation with sales.
The creative contribution of this tool, launched in 2013 and still in beta, is all the metadata it gives you to debug faster. When the user shakes the devices, Instabug will take a screenshot that can be annotated. You can see specific actions that the user took up to the point of the crash. A variety of other feedback and diagnostics are automatically included in the crash data. It's also probably the only crash reporter from Egypt. Cost: There is a very limited free version. Standard prices range from $29 to $149 and there's an enterprise option. Best for: Freelancers, SMBs, Enterprise. Pros: Innovative and great for debugging. It's definitely the easiest crash reporting tool for end users. Cons: Because its servers are in Egypt, the company has struggled with power outages and government regulatory troubles.
Everyone seems to love HockeyApp, especially those who were fans of the pre-Apple version of TestFlight. This tool puts everything is one place, from crash reports to analytics and feedback. Microsoft integrated HockeyApp into their Application Insights service. It's got basic crash reporting tools with advanced crash analytics. For a meta-crash report sponsored by HockeyApp check out CrashProbe. Cost: Standard plans run between $30 and $500 per month with customized pricing for larger enterprises. Best for: Enterprise. Pros: If you are serious about going multiplatform, this supports iOS, Android, Windows (of course) and OS X. There's also a free, open source version called HockeyKit if you're comfortable running your own server. Cons: The size and price puts it out of reach for smaller development teams.
This is a total mobile device management (MDM) platform. Enhanced security is the main reason to get this crash tester. You can better secure your app beta, encrypt user data and at the end to the test you can completely wipe the tester's device. Some of the biggest names in tech, such as eBay, PayPal and HubSpot have gone this route. Cost: Range from $1 to $4 per device per month Best for: SMBs, Enterprise Pros: Beyond just crash reporting, this is a full MDM platform that prioritizes security. Cons: The cost is the biggest drawback from smaller teams. Per device charges can rack up fast.
What about Mobile APM?
If you're looking for more than just crash reporting, keep in mind many of the APM companies also include mobile APM in their offering, which usually includes some level of crash reporting. I didn't have time to cover the offerings in detail, but here are some of the major players you should be checking out:
Open Source Options
Interestingly enough, some of the major crash reporting vendors are using a an open source crash reporting framework called PLCrashReporter. You should definitely check it out if you're looking to roll your own solution.
How do I fix my app if it's crashing?
Fixing your app if it's crashing is beyond the scope of this article. Most of the online tutorials I found were very outdated, so please leave a comment if you know of any good recent tutorials on fixing iOS crashes. Still I found a good article on How to Fix the Most Common Xcode Errors by Chris Ching. You should also checkout CloudBees Feature Management, an iOS SDK that lets you instantly patch live mobile apps. This can be a real life-saver and let's you modify your app without releasing a new version in the app store.
There is no one size fits all in the world of crash reporting. If you're looking for a free solution. Crashlytics is hard to beat. If a paid solution is an option, you should definitely checkout Crittercism and HockeyApp.