UIScreen applicationFrame returning incorrect rectangle on landscape application launch (iPhone/iPad)

cocoa-touch, device-orientation, ipad, iphone, uikit

Solution

When you are holding the iPad in landscape orientation and launch an app, the view controller initially sees bounds for a portrait view (even though orientation reports landscape). The view controller will then get a message to rotate to landscape orientation before it appears.

Problem

Having trouble getting the correct bounds for my iPad application when launching it in landscape mode. I have the proper keys set in my Info.plist file, and my view controllers launch properly in landscape (and portrait, natch). In my `applicationDidFinishLaunching:` method I'm calling a selector after a 3 second delay, and that method makes a call to `[[UIScreen mainScreen] applicationFrame]`, but it's returning me a portrait frame (ie height > width). Does anyone know how to fix this? It smells like a bug to me (if so I'll file a radar), but if it's intended behaviour, where is it documented?

Original source