Here’s the scenario: A bug is reported. But the bug occurs only on iOS 5. On earlier versions, everything’s a-okay.
Has this happened to you? I’ve dealt with it a couple of times. You can stare at the code as hard as you want, and come up with various theories. But you won’t get far that way. Why? Because on iOS 4, everything works. You won’t find any glaring errors.
So how do you debug iOS-specific problems? What you need is a diagnostic tool. Over on the iPhone Application Development blog, I describe a method that’s helped me crack tough problems. See iOS 5 Bug! How to Track It Down.