iOS 6 SDK を使用していくつかの変更を加えるまで、私のアプリは正常に動作していました
アプリは 99% の時間、縦向きモードで実行されます。これは、info.plist で使用できるポートレート モードのみを許可することによって制限されています。
横向きモードで表示する必要があるView Controllerが1つあります。これは、次のようにビューを 90 度回転させるだけで「手動」で実現できます。
self.view.transform = CGAffineTransformMakeRotation(3.14159/2);
これは iOS 6 でも問題なく動作します。
ただし、このView Controllerにはいくつかのテキストフィールドがあります。ユーザーがいずれかをタップすると、キーボードが表示されます。ビューを回転しただけなので (デバイスの向きを実際に変更したわけではありません)、キーボードが縦向きモードで表示されますが、これは良くありません。
以前のバージョンの iOS では、ステータス バーの向きを横向きに設定していましたが、副産物として、次のようにキーボードも横向きに設定していました。
[[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationLandscapeRight animated:NO];
ただし、これは iOS 6 では機能しなくなりました。
これを機能させようとして100万回のスタックオーバーフローを読みましたが、まだ運がありません。