【问题标题】:How to use ARKit on older iOS devices?如何在较旧的 iOS 设备上使用 ARKit?
【发布时间】:2017-07-12 15:29:08
【问题描述】:

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

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

【问题讨论】:

标签: ios iphone xcode ios11 arkit


【解决方案1】:

支持的设备

从 iOS 11 开始,您 can't 在旧设备上使用 ARKit:

重要

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

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

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

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

防止崩溃

为防止应用崩溃,您可以使用ARConfigurationisSupported 属性。并且不要忘记检查当前的 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,当前设备不支持 请求的配置。

【讨论】:

  • 一个好的答案至少会说明哪款 iPhone 配备 A9 处理器。
  • 这不是真的。所有苹果设备都支持 3DOF,我相信这是 WWDC 上所说的。 6DOF 是 A9 及更高版本
  • @SomeUser 这是苹果在他们的文档中所说的:developer.apple.com/documentation/arkit
  • 这也是beta,最终版本可能会有很多变化。
  • 请注意,Apple 的 AR 套件是 purchasing Metaio 的结果,如果您可以再使用它,它的 SDK 确实 run fine 在旧设备上。事实上,我曾在一个使用 Metaio 制作 this 的团队中工作,如您所见,它在旧硬件上运行良好。
猜你喜欢
  • 2011-12-05
  • 1970-01-01
  • 1970-01-01
  • 2011-06-01
  • 1970-01-01
  • 2013-02-08
  • 2017-08-02
  • 2019-09-25
  • 1970-01-01
相关资源
最近更新 更多