加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 如何检测设备是否支持FaceID?

发布时间:2020-12-14 17:18:09 所属栏目:百科 来源:网络整理
导读:它有点早,但我打算专门为FaceID添加功能,所以在此之前我需要验证设备支持FaceID与否? 需要建议和帮助. 提前致谢. 解决方法 我发现你必须先调用canEvaluatePolicy才能正确获取生物测量类型.如果不这样做,那么原始值总是为0. 所以在Swift 3中就是这样,在Xcode
它有点早,但我打算专门为FaceID添加功能,所以在此之前我需要验证设备支持FaceID与否?
需要建议和帮助.
提前致谢.

解决方法

我发现你必须先调用canEvaluatePolicy才能正确获取生物测量类型.如果不这样做,那么原始值总是为0.

所以在Swift 3中就是这样,在Xcode 9.0& beta 9.0.1.

class func canAuthenticateByFaceID () -> Bool {
    //if iOS 11 doesn't exist then FaceID doesn't either
    if #available(iOS 11.0,*) {
        let context = LAContext.init()

        var error: NSError?

        if context.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics,error: &error) {
            //As of 11.2 typeFaceID is now just faceID
            if (context.biometryType == LABiometryType.typeFaceID) {
                return true
            }
        }
    }

    return false
}

你当然可以写这个,只是为了看它是否是生物识别并将类型与bool一起返回,但这对于大多数人来说应该足够了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读