【问题标题】:Xcode 7 Beta warnings: Interface Orientations and Launch StoryboardXcode 7 Beta 警告:界面方向和启动故事板
【发布时间】:2015-09-17 11:00:18
【问题描述】:

我在 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 测试版的错误吗?

【问题讨论】:

标签: ios xcode


【解决方案1】:

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

检查这里: https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html

【讨论】:

  • 我使用的是启动图像,而不是启动故事板。我认为启动故事板是可选的。我想强烈建议在 Xcode 7 中使用启动故事板而不是启动图像,这就是警告的原因?该应用程序的当前版本已经获得 Apple 的批准,我想我会在下一个版本中包含一个启动故事板,届时 Xcode 7 已经向公众发布。谢谢
  • 我遇到了同样的问题,所以只是为了确认@cbiggin - 你需要一个启动故事板来摆脱这个错误?
  • 无法确认,正是我推测的原因可能会导致问题。尝试添加一个 Launch Storyboard,看看它是否会消失。如果是这样,请投票赞成我的答案:)
  • 请记住,您只能使用 ios >= 8 的启动情节提要
【解决方案2】:

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

很简单吧?

顺便说一句,这不是最好的解决方案。会有越来越多更好的解决方案。但是当我回答这个问题时,我只想到如何杀死警告。我没有解释为什么要这样做,而是如何解决这个问题。 Xcode beta 版本可能会改变它的功能,所以我只是在早期提供了一个“解决方法”。因此,如果您认为我的解决方案是一种解决方法,请投票支持其他更好的答案。但这不是投票反对的原因。谢谢:)

【讨论】:

  • 这绝对不是一个解决方案,只是一个半生不熟的解决方法。尊敬的,我不同意你的回答。
  • 另一种解决方案是在同一位置检查所有“设备方向”并提供 xib 或故事板文件而不是图像文件。有时我们必须做出选择:选中“需要全屏”或“设备方向”中的全部。因为 Xcode 要求我们这样做。 :)
  • @kpont 您对解决方案的期望是什么?用魔法弹响手指即可消除警告? Xcode 7 有它需要的额外元数据,你必须提供它。如果您认为这是一个错误,您是否向 Apple 提交了错误报告?
  • 解决方法在“我的应用程序昨天构建并运行良好,但今天 Xcode 抛出警告”的上下文中有效。显然,Apple 希望每个开发人员都更新每个应用程序,以便在启用每个功能的情况下运行。然而,“在现实世界中”,有时我们只需要推送一个错误修复或某种类型的下一个构建,并在以后处理不断变化的苹果环境。解决方法是有效的。同样,添加 xibs/storyboards 以支持方向的概念是有效的。耶!
  • Apple 在常规设置下添加了一个复选框的“半生不熟的解决方法”...
【解决方案3】:

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

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

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

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

【讨论】:

  • 这个答案比目前领先的答案要好得多。感谢您解释此更改的“原因”,以及全屏设置实际上是“什么”。 (我想这是游戏用来摆脱标题栏的相同设置,但事实并非如此。)
  • @natevw 但不如告诉您“只需检查所有该死的框”的简洁。这个答案让我相信我需要一堆新的启动屏幕图像来删除警告......
  • @dcow - 好吧,那你看错了。我明确指出您只需要添加启动图像或勾选需要全屏框。这些事情很少有一个简单的答案......这取决于你想要实现的目标。
  • @SimonTillson 你读错了我的评论,显然没有看下面的答案。我不是在谈论 需要全屏 框。实际的解决方法是支持所有方向。这不需要添加启动图像。它只是意味着确保在常规项目设置中的 设备方向 下选中所有框。也许您暗示修复是“包括所有设备屏幕类型的启动图像或情节提要”,但正如我所说,不像明确告诉您的答案那么简洁.
  • @dcow OP是单独解决警告的,它没有询问如何支持多窗口。由于多窗口只能在原始分辨率下正常工作,因此应该为所有设备屏幕类型上传启动图像并且应该勾选所有使用的方向是正确的。不过,我仍然不明白您对我的回答的原始问题是什么,因为大多数用户只是想知道 Requires Full Screen 的含义和/或如何摆脱警告。
【解决方案4】:

这是因为 Apple 在 iOS 9 中添加了多任务功能。您只需要告诉 Xcode 就是您的应用需要全屏。

将 UIRequiresFullScreen 键添加到 Xcode 项目的 Info.plist 文件并应用布尔值 YES。

阅读更多关于它的一般信息。
https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/AdoptingMultitaskingOniPad/index.html

【讨论】:

    【解决方案5】:

    我刚看到这个错误,看了cmets之后,我肯定想支持iPad和多窗口使用。这就像检查设备方向选项“横向左侧”和“横向右侧”并确保我的用户界面支持这些一样简单。

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

    【讨论】:

    • "我发现测试良好多窗口支持的最佳方法是使用可调整大小的模拟器,或者更好的 IMO,在 XCode 7.1 中使用 iPad Pro,并通过从正确的。”这是一个字面上的答案,用对话的语气。在投反对票之前,您可以在评论中澄清。
    • 好点,我错过了对话风格。我道歉。但你可能想重写它——我第一次错过了它,而且我是母语人士。
    • 我明白 :) 感谢您的响应。我马上更新。
    • 这是这个问题的实际答案。谢谢!
    • 倒置对我来说是未选中的。启用它会删除警告。我也认为这是正确的答案
    【解决方案6】:

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

    【讨论】:

      【解决方案7】:

      “清理构建文件夹”并重新构建

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

      • 确实有一个LaunchScreen.storyboard
      • 没有检查过Requires full screen

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

      1. 在单击Product 菜单时按住Option 键。
      2. 选择Clean Build Folder不是Clean)。
      3. 选择Product > Build

      没问题了。在更多的构建和运行会话之后,错误消息尚未重新出现。

      【讨论】:

        【解决方案8】:

        在 Info.plist 中将 UIRequiresFullScreen 设置为 YES。并勾选需要全屏

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-10-23
          • 2015-01-14
          • 2017-12-15
          • 1970-01-01
          • 2016-01-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多