問題:
UIInterfaceOrientationLandscapeRight方向でアプリをバックグラウンドに送信した場合、マルチタスクバーからアプリケーションを再開すると、表示されるスナップショットとビューの両方で、方向はデフォルトのUIInterfaceOrientationLandscapeLeftになります。ビューは、一時停止される前に最後の既知の方向であるUIInterfaceOrientationLandscapeRightに回転して戻ることにより、すぐに方向を変えます。
既知の量:
- アプリは2つのInterfaceOrientationsをサポートしています:UIInterfaceOrientationLandscapeLeftとUIInterfaceOrientationLandscapeRight
- アプリは、ShouldAutoRotateToInterfaceOrientationをオーバーライドするすべてのビューコントローラーの自動回転を利用し、方向がサポートされているもののいずれかである場合はyesを返します
- 両方の方向は、UISupportedInterfaceOrientationsキーの下のInfo.plist内で定義されます
- アプリがバックグラウンドに送信されると、サポートされている向きの自動スナップショットが取得されて保存されます
- 踏み台からアプリを再開すると期待どおりに機能し、向きはバックグラウンドに送信されたときと同じになります。
観察された行動:
マルチタスクバーからアプリを再開すると、アプリは2つの方向通知を受け取ります。これらの通知は、オーバーライドされたshouldAutoRotateToInterfaceOrientationによってそれぞれ評価されます。最初にUIInterfaceOrientationLandscapeLeft、次にUIInterfaceOrientationLandscapeRight。
推測される結果:
マルチタスクバーからアプリを再開するときの向きは、一時停止したときと同じです。したがって、UIInterfaceOrientationLandscapeRightモードの場合、同じ方向で再開することを期待します。