HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 当用户拒绝使用生物测量时,生物测量类型大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在@R_36_9616@程序中,用户必须注册到设备biometry才能使用它进行身份验证.
注册文本和法律注释根据相关的生物统计学(注册到触摸ID或注册到面部ID)
据我所知,生物测定类型可通过LAContext获得,但如果用户拒绝使用生物测量,则上下文返回biometryType = .none

任何其他要求屏幕尺寸和与iPhone X(坏的坏代码)比较的想法?

static fileprivate var biometryType: DSLocalAuthenticationBiometryType {
        let context = LAContext()

        var error: NSError?
        let _ = context.canEvaluatePolicy(.deviceownerAuthenticationWithBiometrics,error: &error)

        if #available(iOS 11.0,*) {

            return context.biometryType == .typeFacEID ? .typeFacEID : .none
        }
        else {
            return .none
        }
    }

谢谢

解决方法

我有同样的问题,我刚刚发现,如果你对LAPolicyDeviceownerAuthentication而不是LAPolicyDeviceownerAuthenticationWithBiometrics进行评估,即使用户拒绝了许可,评估也会成功,你得到正确的biometryType.你的代码就像

static fileprivate var biometryType: DSLocalAuthenticationBiometryType {
    let context = LAContext()

    var error: NSError?
    let _ = context.canEvaluatePolicy(.deviceownerAuthentication,error: &error)

    if #available(iOS 11.0,*) {

        return context.biometryType == .typeFacEID ? .typeFacEID : .none
    }
    else {
        return .none
    }
}

注意:在没有touch id和face id的设备上,它仍然返回YES,所以你不知道设备是否真的具有生物特征hw,iOS是否低于11(不暴露属性biometriyTypE)

更新

对于iOS 10或更低版本的设备,您可以使用
像往常一样,LAPolicyDeviceownerAuthenticationWithBiometrics会正常运行(无论设备是否支持触摸ID,都返回truE),因此只需区分正在运行的操作系统版本:)

让我知道它是否有效:)

最好

大佬总结

以上是大佬教程为你收集整理的ios – 当用户拒绝使用生物测量时,生物测量类型全部内容,希望文章能够帮你解决ios – 当用户拒绝使用生物测量时,生物测量类型所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。