iOS 9:警告"除非应用程序需要全屏"否则必须支持所有界面方向。适用于通用应用

时间:2016-05-11 16:55:09

标签: ios iphone xcode ipad multitasking

我正在使用iPad上的所有方向和iPhone上仅限肖像的通用应用程序。该应用程序适用于iOS 9兼容iPad上的分屏多任务,但我有这个警告:

All interface orientations must be supported unless the app requires full screen

我的应用不需要全屏。它只限于iPhone上的肖像......难道不行吗?有没有办法只在iPhone上声明需要全屏

提前致谢

顺便说一句,我使用的是Xcode 7.3.1

5 个答案:

答案 0 :(得分:57)

Info.plist 中将 UIRequiresFullScreen 设置为 YES

enter image description here

享受...!

答案 1 :(得分:37)

解决方法是使用"设备特定密钥": 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/>

当我删除UIRequiresFullScreen键的iPad特定版本时,我将失去完整的分屏功能 - 只有&#34;滑过&#34;是可用的,因为这不会影响我的应用使用整个设备屏幕。

&#34;设备方向&#34;复选框用于默认的plist值。他们不会影响iPad上的应用程序的唯一方法是,如果plist中有更具体的值,那么这个值就是专门针对iPad的。

  

当系统在您的应用的Info.plist文件中搜索某个键时,它会选择最特定于当前设备和平台的键。

答案 2 :(得分:8)

事实上,这太容易了......这就是为什么我甚至没有尝试过它:

Configuration

设备方向设置0不会影响iPad方向。

这意味着设备方向部分应重命名为 iPhone Orientation ,实际上,使用该配置,iPhone仅支持Portrait并且iPad支持所有他们由于我们尚未选中Portrait,因此仍然允许拆分屏幕。

PS:至少在Xcode 8.3.1上,我没有在Xcode 7.x上测试过它。

答案 3 :(得分:0)

对于您的情况,您可以使用: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>

此组合不会产生警告。

答案 4 :(得分:-3)

从“偏好设置”中转到“位置”标签,找到项目的派生数据文件夹,然后删除与该项目相关的文件。