4

在 iOS 11 的 beta 版本中,ARKit 应用程序即使在使用应该与旧设备兼容的 3DOF 时也会崩溃?

如果不支持 ARKit,我该如何防止应用崩溃?

4

1 回答 1

10

支持的设备

从 iOS 11 开始,您无法在旧设备上使用 ARKit:

重要的

ARKit 需要配备 A9 或更高版本处理器的 iOS 设备。

要使您的应用仅在支持 ARKit 的设备上可用,请使用应用 Info.plist 的 UIRequiredDeviceCapabilities 部分中的 arkit 键。如果增强现实是您应用的次要功能,请使用 isSupported 属性来确定当前设备是否支持您要使用的会话配置。

设备应具有 A9 或更高版本的处理器。您只能使用:

  • iPhone SE,
  • iPhone 6S 和更新版本(7、8、X),
  • iPad (2017) 或更新版本,
  • iPad Pro(任何)。

防止崩溃

为了防止应用程序崩溃,您可以使用isSupported的属性ARConfiguration。并且不要忘记检查当前的 iOS 版本。

import ARKit

func isARSupported() -> Bool {
    guard #available(iOS 11.0, *) else {
        return false
    }
    return ARConfiguration.isSupported
}

if isARSupported() {
    // ARKit is supported. Do what you need.
} else {
    // ARKit is not supported.
}

在尝试创建 AR 配置之前,请通过检查相应配置类的 isSupported 属性来验证用户的设备是否支持您计划使用的配置。如果此属性的值为 false,则当前设备不支持请求的配置。

于 2017-07-12T15:45:11.143 回答