Mobile App Development: Catching Crashers
Article Summary
Twitter's iOS team shipped beta builds to employees and discovered crashes that would never show up in testing. The culprit? Jailbroken devices and unprefixed Objective-C categories.
Ben Sandofsky, Tech Lead for Twitter's iOS team, breaks down how they used Crashlytics to catch and fix crashes before production. This 2013 post remains a masterclass in mobile debugging methodology.
Key Takeaways
- Jailbroken devices added unprefixed categories that collided with Twitter's own code
- SQLite multithreading required three rewrites: GCD queues to native threads to disabled shared cache
- Employee dogfooding with crash reports dramatically shortened the feedback cycle
- Category prefixing prevents future collisions when iOS adds methods to existing classes
Critical Insight
Detailed crash data from pre-production builds helped Twitter eliminate entire classes of bugs before users ever saw them.