私はiPadですべての向き、iPhoneでポートレートのみを使用してユニバーサルアプリに取り組んでいます。このアプリは、iOS 9互換iPadの分割画面マルチタスクでうまく機能しますが、この警告が表示されます。
All interface orientations must be supported unless the app requires full screen
そして、私のアプリはフルスクリーンを必要としません。 iPhoneのポートレートに限定されています...大丈夫ではないでしょうか? フルスクリーンが必要 iPhoneでのみ宣言する方法はありますか?
前もって感謝します
ちなみに私はXcode 7.3.1を使用しています
これに対する解決策は、「デバイス固有のキー」を使用することです。 https://developer.Apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html#//Apple_ref/doc/uid/TP40009254-SW9
したがって、plistの値は次のようになります。
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIRequiresFullScreen</key>
<true/>
<key>UIRequiresFullScreen~ipad</key>
<false/>
IPad固有のバージョンのUIRequiresFullScreen
キーを削除すると、分割画面の完全な機能が失われます。アプリのデバイス画面全体の使用には影響しないため、「スライドオーバー」しか使用できません。
[デバイスの向き]チェックボックスは、デフォルトのplist値用です。 iPadのアプリに影響を与えない唯一の方法は、plistにより具体的な値がある場合、つまりiPad専用の値がある場合です。
システムは、アプリのInfo.plistファイルでキーを検索するときに、現在のデバイスとプラットフォームに最も固有のキーを選択します。
あなたのケースでは、UISupportedInterfaceOrientations〜iphoneを使用できます。
Info.plistのUISupportedInterfaceOrientationsセクションを次のように変更します。
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~iphone</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
この組み合わせでは警告は生成されません。