9th January 2012
Scott Jehl has come up with a brilliant fix that works consistently as you'd hope and is less than 1KB minified. Still, like Jeremy says, it'd be nice if Apple just fixed the bug.
If you do any amount of browsing on an iPhone or iPad, you'll probably know what I mean when I say "iOS scale bug". If not, Filament Group have documented it. It's such an obvious bug, I sort of assumed that Apple would fix it for iOS 5.
Apparently not:
I'm being told the Mobile Safari scaling bug has not been fixed in iOS5. Fuck.
@jonikorpi
So what can you do? Well, a little while back Jeremy Keith and others collaborated on a JavaScript solution which disables scaling, then enables it again if the user starts to pinch (via the gestureStart event). It doesn't fully solve the problem — once the event listener has re-enabled scaling, the bug is back again for any subsequent orientation changes — but it's the best remedy there is right now.
However, the plot thickens:
...strangely the bug doesn't present itself when using the "in-app" Safari in the Twitter app
@dbagchee
It's weird. I can't imagine why Apple would do this on purpose — it just doesn't make sense. The only thing I can think of is that maybe an iOS developer filed a bug on UIWebView (the "in-app" Safari), which got fixed independently of the Safari app (can you even file a bug on the Safari app?). I'd love to hear from anyone who knows the answer.