当用户拒绝生物特征使用量时,生物特征类型



在我们的应用中,用户必须注册到设备生物特征仪以进行身份验证。注册文本和法律说明是根据相关生物标准的(注册以触摸ID或注册到面部ID)据我发现,生物特征类型是可以通过可覆盖来获得的,但是如果用户拒绝使用生物特征,则上下文将返回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
        }
    }

谢谢

我遇到了相同的相同问题,我刚刚发现,如果您根据键 lapolicydeviceownerautheration 进行评估,而不是 lapolyCilyDeviceDeviceOnterAtheration 即使用户拒绝许可后,评估也成功,您将获得正确的生物元素类型。您的代码就像

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
    }
}

NOTE :在没有触摸ID和FACE ID的设备上,它仍然返回是的,因此您不知道该设备是否真的具有iOS的生物识别性HW,iOS低于11(不超过11暴露属性的生物量表)

update

对于具有iOS版本10或更低的设备,您可以使用像往常一样,LapolicyDeviceOwnerAthEntericationWithBiometrics,它的行为将正确(是否支持设备支持触摸ID),因此这只是区分运行OS版本的问题:)

让我知道它是否有效:)

最佳

相关内容

  • 没有找到相关文章

最新更新