【发布时间】:2017-07-12 15:29:08
【问题描述】:
在 iOS 11 的 beta 版本中,ARKit 应用程序即使在使用应该与旧设备兼容的 3DOF 时也会崩溃?
如果不支持 ARKit,我该如何防止应用崩溃?
【问题讨论】:
-
您使用的是哪种设备?如果没有一些代码示例和崩溃日志,将很难为您提供帮助
标签: ios iphone xcode ios11 arkit
在 iOS 11 的 beta 版本中,ARKit 应用程序即使在使用应该与旧设备兼容的 3DOF 时也会崩溃?
如果不支持 ARKit,我该如何防止应用崩溃?
【问题讨论】:
标签: ios iphone xcode ios11 arkit
从 iOS 11 开始,您 can't 在旧设备上使用 ARKit:
重要
ARKit 需要配备 A9 或更高版本处理器的 iOS 设备。
要使您的应用仅在支持 ARKit 的设备上可用,请使用 应用程序的 UIRequiredDeviceCapabilities 部分中的 arkit 键 信息.plist。如果增强现实是您应用的次要功能, 使用 isSupported 属性判断当前设备是否 支持您要使用的会话配置。
设备应具有 A9 或更高版本的处理器。您只能使用:
为防止应用崩溃,您可以使用ARConfiguration 的isSupported 属性。并且不要忘记检查当前的 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,当前设备不支持 请求的配置。
【讨论】:
beta,最终版本可能会有很多变化。