在iOS 11的测试版中,即使使用应该与旧设备兼容的3DOF,ARKit应用程序也会崩溃?
如果不支持 ARKit,如何防止应用程序崩溃?
支持的设备
从 iOS 11 开始,您无法在旧设备上使用 ARKit:
重要
ARKit 需要配备 A9 或更高版本处理器的 iOS 设备。
要使您的应用仅在支持 ARKit 的设备上可用,请使用 应用"的 UIRequiredDeviceCapabilities 部分中的 arkit 键 如果增强现实是应用的次要功能, 使用 isSupport 属性确定当前设备是否 支持要使用的会话配置。
设备应具有 A9 或更高版本的处理器。您只能使用:
- iPhone SE,
- iPhone 6S 及更新机型 (7, 8, X(,
- iPad (2017( 或更高版本,
- iPad Pro(任何(。
防止崩溃
若要防止应用崩溃,可以使用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 配置之前,请验证 用户的设备支持您计划使用的配置,方法是选中 相应配置类的 isSupport 属性。如果 此属性的值为 false,当前设备不支持 请求的配置。