美文网首页
iOS face ID 与 Touch ID 开发

iOS face ID 与 Touch ID 开发

作者: 贝灬小晖 | 来源:发表于2018-08-06 11:48 被阅读175次

    一、Touch ID

    let context = LAContext.init()
    var error:NSError?
    var current_policy:LAPolicy?
    if #available(iOS 9.0, *) {
    current_policy = LAPolicy.deviceOwnerAuthentication
    } else {
    current_policy = LAPolicy.deviceOwnerAuthenticationWithBiometrics
    }
    if context.canEvaluatePolicy(current_policy!, error: &error) {
    context.evaluatePolicy(current_policy!, localizedReason: localizedReason, reply: { (success, error) in
    if success {
    print("通过了验证")
    } else {
    print("没有通过验证")
    let flag = Int32.init(truncatingBitPattern: (error?._code)!)
    switch flag {
    case kLAErrorAuthenticationFailed:
    print("连续三次出错")
    self.errorBlock!()
    break
    case kLAErrorUserCancel:
    print("点击了取消")
    break
    case kLAErrorPasscodeNotSet:
    self.errorBlock!()
    print("弹出密码输入页面")
    break
    case kLAErrorSystemCancel:
    print("按下了电源键")
    break
    case kLAErrorTouchIDLockout:
    print("Touch ID 锁定了")
    break
    default:
    print("未知错误")
    }
    }
    })
    } else {
    // self.errorBlock!()
    print("弹出密码输入页面")
    }
    }

    此处强调一下是

    if #available(iOS 9.0, *) {
    current_policy = LAPolicy.deviceOwnerAuthentication
    } else {
    current_policy = LAPolicy.deviceOwnerAuthenticationWithBiometrics
    }
    在iOS 9之后,LAPolicy使用deviceOwnerAuthentication可以当TouchID被系统锁定之后进行弹出系统解锁界面。

    二、Face ID

    Face ID是2017年秋季,与苹果十周年纪念版手机 iPhone X同出现的交互解锁功能呢,面容识别,为3D式识别用户Face数据。但在双胞胎识别上有Bug,此处就不加吐槽了。在iOS 11中新增了以下方法

    func checkSupportMethod() -> Void {
    if #available(iOS 11.0, *) {
    if context.biometryType == LABiometryType.typeTouchID {
    print("设备支持Touch ID")
    } else if context.biometryType == LABiometryType.typeFaceID {
    print("设备支持Face ID")
    }
    } else {
    }
    }

    三、总结

    对于开发来说,代码完全不用进行更改,只是在UX上,交互那边,之前是Touch ID解锁而现在则更改为Face ID进行解锁。

    相关文章

      网友评论

          本文标题:iOS face ID 与 Touch ID 开发

          本文链接:https://www.haomeiwen.com/subject/iqbwvftx.html