在 iOS 11 的 beta 版本中,ARKit 应用程序即使在使用应该与旧设备兼容的 3DOF 时也会崩溃?
如果不支持 ARKit,我该如何防止应用崩溃?
从 iOS 11 开始,您无法在旧设备上使用 ARKit:
重要的
ARKit 需要配备 A9 或更高版本处理器的 iOS 设备。
要使您的应用仅在支持 ARKit 的设备上可用,请使用应用 Info.plist 的 UIRequiredDeviceCapabilities 部分中的 arkit 键。如果增强现实是您应用的次要功能,请使用 isSupported 属性来确定当前设备是否支持您要使用的会话配置。
设备应具有 A9 或更高版本的处理器。您只能使用:
为了防止应用程序崩溃,您可以使用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,则当前设备不支持请求的配置。