ios – 当用户拒绝使用生物测量时,生物测量类型

ios – 当用户拒绝使用生物测量时,生物测量类型,第1张

概述在我们的应用程序中,用户必须注册到设备biometry才能使用它进行身份验证. 注册文本和法律注释根据相关的生物统计学(注册到触摸ID或注册到面部ID) 据我所知,生物测定类型可通过LAContext获得,但如果用户拒绝使用生物测量,则上下文返回biometryType = .none 任何其他要求屏幕尺寸和与iPhone X(坏的坏代码)比较的想法? static fileprivate var 在我们的应用程序中,用户必须注册到设备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 – 当用户拒绝使用生物测量时,生物测量类型所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1067102.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存