首页 > 解决方案 > 如何以编程方式检查 iPhone/iPad 设备是否有原深感摄像头?

问题描述

我正在开发一个 3D 扫描应用程序,并创建了下面的测试扩展程序,以检查我的用户设备是否具有 TrueDepth 相机。目前,我的应用程序中有一个问题,我必须不断更改Apple 文档中的兼容设备列表,并不断从此处更新反射开关盒。

static let hasTrueDepthCamera: Bool = {
    let authContext = LAContext()
    let _ = authContext.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: nil)
    return authContext.biometryType == LABiometryType.faceID;
}()

我想知道即使用户的 FaceId 没有在他们的设置中设置,扩展是否会起作用,还是会返回 false?不幸的是,我无法在手机上对其进行测试,因为它会从我的账户钱包中删除所有卡。

标签: iosswiftobjective-creact-nativexamarin

解决方案


检测设备是否具有TrueDepth摄像头的一种可能方法是使用ARkit 的 ARFaceTrackingConfiguration. 您可以使用以下代码来检测设备是否支持面部跟踪。

guard ARFaceTrackingConfiguration.isSupported else {
  fatalError("Error: This device model does not support face tracking")
}

推荐阅读