私のiPadアプリには、横向きモードをサポートするアプリのどこかに単一のビューが含まれています。
そのビューのshouldAutorotateToInterfaceOrientationを呼び出すには、 info.plistでランドスケープがサポートされていることを宣言する必要がありました。
問題:
アプリの起動時に表示されるUITabControllerはランドスケープモードをサポートしていないため、すべてのタブバーのビューコントローラーで指定するようにしました。ただし、デバイスが横向きモードのときにアプリを起動すると、タブコントローラーが横向きで表示され、すべてのタブが歪んで表示されます。
ポートレートモードのみをサポートするようにinfo.plistを設定すると、アプリが正しく起動しますが、回転可能なビューコントローラーではshouldAutorotateToInterfaceOrientationが無視されます。
起動時に試したもう1つのオプションは次のとおりです。
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];
これにより、実際にはアプリが縦向きで表示されるようになりましたが、回転可能なビューコントローラーでのデバイスの回転をアプリが無視するようになりました。
更新: これはiOS6の問題のみであり、シミュレーターで見つけることはできません