文章

验证设备支持和用户权限

确保您的 app 可以使用 ARKit 并尊重用户隐私。

概览

ARKit 要求使用 iOS 11.0 或更高版本,以及搭载 A9 或更新处理器的 iOS 设备。某些 ARKit 功能会要求使用更高的 iOS 版本或特定设备。另外,ARKit 会使用设备摄像头,因此需要配置 iOS 隐私控制,以便用户能允许 app 访问摄像头。

设备兼容性支持的处理方式取决于您的 app 将如何使用 ARKit:

  • 如果 app 的基本功能需要使用增强现实(通过后置摄像头):请将 arkit 键添加到 app Info.plist 文件的 UIRequiredDeviceCapabilities (英文) 部分中。使用这个键可确保只有兼容 ARKit 的设备能使用您的 app。

  • 如果增强现实体验是 app 的次要功能:请通过测试相应 ARConfiguration (英文) 子类的 isSupported (英文) 属性,检查当前设备是不是支持您想要使用的增强现实配置。

  • 如果 app 使用面部追踪 AR:面部追踪要求使用 iPhone X 上的前置原深感摄像头。您的 app 仍可以在其他设备上使用,因此请务必测试 ARFaceTrackingConfiguration (英文)isSupported (英文) 属性来确定当前设备上是否支持面部追踪。

处理用户授权和隐私

您的 app 必须获得用户明确授予的 app 摄像头访问权限,才能使用 ARKit。在您的 app 首次运行增强现实会话时,ARKit 会自动请求用户授予权限。

iOS 要求 app 提供一条静态信息,供系统请求摄像头或麦克风权限时显示。App 的 Info.plist 文件必须包含 NSCameraUsageDescription (英文) 键。为这个键提供说明文字,解释您的 app 为什么需要摄像头访问权限,让用户能够放心地向 app 授予权限。

如果您的 app 使用 ARFaceTrackingConfiguration (英文),ARKit 会为您的 app 提供个人面部信息。如果您使用 ARKit 面部追踪功能,app 中必须包含隐私政策,向用户说明面部追踪和面部数据的用途。有关详细信息,请参阅“Apple Developer Program 许可协议”。

另请参阅

准备工作

class ARSession (英文)

一种共享对象,用于管理打造增强现实体验所需的设备摄像头和运动处理。

class ARConfiguration (英文)

用于增强现实会话配置的抽象基类。