iOS 9 : 提示“除非应用程序需要全屏幕,否则必须支持所有界面方向”的通用应用程序警告

阅读时长 4 分钟读完

苹果公司在iOS 9中引入了一个新的规则,即任何通用应用程序必须支持所有可能的设备方向,除非该应用程序使用全屏幕模式。如果你的应用程序不遵守这个规则,在提交到App Store时将会遭到拒绝。

问题描述

这个问题通常出现在一个在 iPhone 和 iPad 上都能运行的通用应用程序中。当你试图在 iPhone 设备上使用横屏模式时,应用程序会崩溃并提示以下错误: "All interface orientations must be supported unless the app requires full screen"。

这个问题是由于 iOS 9 引入了 UISupportedInterfaceOrientations 字段所致。这个字段包含了应用程序所支持的方向列表。如果你没有正确设置这个字段,iOS 9 将默认认为你只支持竖屏模式,如果你在横屏模式下尝试打开应用程序,那么就会出现错误。

解决方法

解决这个问题的方法很简单。你需要在你的应用程序信息属性列表文件(Info.plist)中添加 UISupportedInterfaceOrientations 键,并将其设置为所支持的方向列表。例如,如果你想要支持横屏和竖屏模式,那么你可以将 UISupportedInterfaceOrientations 设置为以下值:

如果你只想支持竖屏模式,那么你可以将 UISupportedInterfaceOrientations 设置为以下值:

请注意,如果你的应用程序需要全屏幕模式,请在应用程序信息属性列表文件中添加 UIRequiresFullScreen 键,并将其设置为 “YES”。

学习和指导意义

这个问题提醒我们,在开发 iOS 应用程序时,我们应该始终遵守苹果公司的规则和要求。这不仅包括支持所有可能的设备方向,还包括其他规则,比如使用正确的图标和启动画面等。

另外,当出现错误时,我们应该仔细阅读错误消息并理解其中的含义。这样可以帮助我们快速诊断问题并找到解决方法。

最后,我们需要时刻关注苹果公司的更新和变化。iOS 平台的发展非常迅速,每一个新版本都会带来一些新的变化。我们需要及时学习并适应这些变化,以便在 App Store 上发布高质量的应用程序。

示例代码

以下是一个支持横屏和竖屏模式的示例代码:

以下是一个仅支持竖屏模式的示例代码:

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/606ef6ee2d2a29a3c12029ea

纠错
反馈