对于iOS 11的测试版,即使使用与旧设备兼容的3DOF,ARKit应用程序也会崩溃?
如果不支持ARKit,我该如何防止应用程序崩溃?
从iOS 11开始,你can't在旧设备上使用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,则当前设备不支持所请求的配置。