Xcode 7 Beta警告:界面方向和启动情节提要


131

我在Xcode 7 Beta中打开了我的项目,但收到以下警告,而在Xcode 6中却没有:

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


 A launch storyboard or xib must be provided unless the app requires
 full screen.

该应用程序仅对设备使用纵向方向,而我对此进行了设置。我也有适用于iPhone和iPad界面的情节提要。我无法确定为什么收到这些警告。这是Xcode 7 beta错误吗?


听起来像个虫子。查看Apple开发人员论坛。成为Beta测试人员的喜悦:p
Sam B

Answers:


274

此警告是iOS 9的新增功能,因为它支持具有多窗口支持的可调整大小的应用程序。以前,应用程序会自动缩放到具有与启动映像中不同的硬件显示分辨率的新设备(这基本上是iOS检测支持的接口分辨率的方式)。现在,支持多窗口的应用必须通过为所有设备屏幕类型包括启动图像或情节提要来定义其支持的分辨率。

除非您重新编写应用程序以支持多窗口,否则将需要“全屏”。这向iOS暗示您不支持多窗口,并且基本上使iOS 9在这方面像以前的版本一样工作。

因此,如果您要提交针对iOS 9的应用更新,并且您不支持多窗口,那么您要做的就是转到“项目目标”设置,选择“常规”,然后在“部署信息”下找到复选框称为“需要全屏显示”。勾选此项,警告将消失。

这当然不是错误。如果出现此警告,则您的应用在提交过程中可能会遇到问题。不确定,因为我尚未提交带有iOS 9 GM Seed的应用程序,但是我肯定会在框内打勾:-)


4
这个答案比目前领先的答案要好得多。感谢您解释此更改的“原因”以及全屏设置的实际含义。(我想这是游戏用来摆脱标题栏的相同设置,但事实并非如此。)
natevw 2015年

@natevw,但不像告诉您“仅检查所有该死的框”那样简洁。这个答案使我相信我需要一堆新的启动屏幕图像来消除警告...
dcow

1
@dcow-好吧,那么您读错了。我明确指出,您只需要添加启动图像或在“要求全屏”框中打勾。这些事情很少有简单的答案……这取决于您要实现的目标。
西蒙·蒂尔森

1
@SimonTillson,您读错了我的评论,显然没有看下面的答案。我不是在谈论要求全屏框。实际的解决方法是支持所有方向。这不需要添加启动映像。这仅意味着确保在常规项目设置中的设备方向下选中所有复选框。也许您是在暗示该修补程序是“包括所有设备屏幕类型的启动图像或情节提要”,但正如我所说,它不如明确告诉您的答案那么简洁。
dcow

@dcow OP仅用于解决警告,它没有询问如何支持多窗口。由于多窗口只能在原始分辨率下正常工作,因此您应该为所有设备屏幕类型上载启动图像,并勾选所有使用的方向,这是正确的。但是,由于大多数用户只是想知道“要求全屏显示”的含义和/或如何摆脱警告,我仍然没有得到您最初回答的问题。
西蒙·蒂尔森

62

只需转到目标,单击“常规”选项卡,找到“部署信息”部分,选中“需要全屏显示”即可。:)

很简单吧?

顺便说一句,这不是最好的解决方案。将会有越来越多的更好的解决方案。但是当我回答这个问题时,我只想到了如何消除警告。我没有解释为什么这样做,而是如何解决这个问题。Xcode beta版可能会更改其功能,因此我只是在早期提供了一种“解决方法”。因此,如果您认为我的解决方案是一种解决方法,请投票赞成其他更好的答案。但这不是投票否决的理由。谢谢 :)


15
这绝对不是解决方案,只是一个半生不熟的解决方法。抱歉,我不同意您的回答。
kbpontius

另一个解决方案是在同一位置检查所有“设备方向”,并提供xib或情节提要文件而不是图像文件。有时我们必须做出选择:选中“要求全屏显示”或“设备方向”中的全部。因为Xcode要求我们这样做。:)
杨晓宇2015年

6
@kpont您究竟希望得到什么解决方案?手指的魔术贴消除了警告?Xcode 7还需要其他元数据,您必须提供它。如果您认为这是一个错误,是否与Apple一起打开了错误报告?
Leo Natan

6
解决方法在“我的应用昨天构建并运行良好,但今天Xcode发出警告”的上下文中有效。显然,Apple希望每个开发人员都能在启用每个功能的情况下更新每个应用程序以使其运行。但是,“在现实世界中”有时,我们只需要推送错误修复或某种形式的下一个版本,并在以后处理不断变化的Apple景观。解决方法是有效的。同样,添加xibs / storyboards以支持方向的概念是有效的。好极了!
奥利2015年

4
苹果在“常规设置”下添加了一个复选框,成为“半熟的解决方法”
Rivera 2015年


11

我刚刚看到此错误,在阅读评论后,我当然希望支持iPad和多窗口使用。这就像检查“ 设备方向”选项“左横向”和“右横向”并确保我的UI支持这些一样简单。

我发现测试良好的多窗口支持的最好方法是使用可调整大小的模拟器,或者我认为更好的方法是,使用XCode 7.1中的iPad Pro并通过从右侧拖动实际激活多窗口功能。完成这些步骤后,我的应用程序支持了这些功能,并且能够快速查看需要更新或优化以完全支持它们的功能。


“我发现测试良好的多窗口支持的最好方法是使用可调整大小的模拟器,或者更好的IMO,在XCode 7.1中使用iPad Pro,并通过向右拖动来激活多窗口功能。” 从字面上看,这实际上是一个答案。您可以在拒绝投票之前在评论中澄清。
d2burke

好一点,我错过了谈话风格。我道歉。但是您可能想要重写它-我是第一次错过它,而且我是母语人士。
阿比森

我了解:)谢谢您的回应。我现在将更新。
d2burke

2
这是该问题的实际答案。谢谢!
Aviel Gross

颠倒对我来说没有任何限制。启用它会删除警告。我也认为这是正确的答案
neelabh

8

默认情况下,设备方向仅启用纵向,横向向左和横向向右。您还需要启用“颠倒”功能。

在此处输入图片说明


3

“清理生成文件夹”并再次生成

All interface orientations must be supported unless the app requires full screen.今天在Xcode 7.3.1中收到了消息,似乎没有任何原因,也没有进行任何相关更改。

  • 做的LaunchScreen.storyboard
  • 我还没有检查Requires full screen

当Xcode让我对一些新的错误导致的不好的原因感到困惑时,我尝试了通常的操作:

  1. 在单击菜单的同时按住OptionProduct
  2. 选择Clean Build Folder Clean)。
  3. 选择Product> Build

没问题了。再经过几次构建和运行会话后,该错误消息尚未再次出现。


0

您是否为您的应用提供了“启动故事板”?或者您刚刚提供了各种尺寸的静态图像。

在此处检查:https : //developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html


我使用启动图像,而不是启动情节提要。我认为启动故事板是可选的。我猜强烈建议在Xcode 7中使用启动情节提要板而不是启动图像,这就是警告的原因?该应用程序的当前版本已被Apple批准,我想我将在下一个版本中包含一个启动情节提要,届时Xcode 7将已经向公众发布。谢谢
bachma0507

我遇到了同样的问题,因此只需要确认@cbiggin-您需要启动演示图板才能消除此错误?
amitsbajaj

无法确认,只是我的理论可能导致了问题。尝试添加启动情节提要板,看看它是否消失了。如果是的话,那就投票赞成我的答案:)
cbiggin

1
请记住,您只能对iOS> = 8使用启动故事板
troppoli 2015年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.