iOS开发swift -- 指纹识别

2017-05-27  本文已影响123人  Hayley__

代码示例

    //导入类库 import LocalAuthentication
    func touchID() {
        //创建上下文
        let context = LAContext()
        var error : NSError?
        //判断设备是否支持指纹识别
        if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error)
        {
            //开始指纹识别
            context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: "请用指纹解锁", reply: { (success, error) in
                if success {
                    debugPrint("successful")
                    //do what you want
                }else
                {
                    if let error = error as NSError?
                    {
                        switch error.code {
                        case LAError.appCancel.rawValue:
                            debugPrint("Authentication was cancelled by application")
                            
                        case LAError.authenticationFailed.rawValue:
                            debugPrint("The user failed to provide valid credentials")
                            
                        case LAError.invalidContext.rawValue:
                            debugPrint("The context is invalid")
                            
                        case LAError.passcodeNotSet.rawValue:
                            debugPrint("Passcode is not set on the device")
                            
                        case LAError.systemCancel.rawValue:
                            debugPrint("Authentication was cancelled by the system")
                            
                        case LAError.touchIDLockout.rawValue:
                            debugPrint("Too many failed attempts.")
                            
                        case LAError.touchIDNotAvailable.rawValue:
                            debugPrint("TouchID is not available on the device")
                            
                        case LAError.userCancel.rawValue:
                            debugPrint("The user did cancel")
                            
                        case LAError.userFallback.rawValue:
                            debugPrint("The user chose to use the fallback")
                            
                        default:
                            debugPrint( "Did not find error code on LAError object")
                        }
                    }
                }
            })
        }else
        {
            debugPrint("no support")
        }
    }
上一篇下一篇

猜你喜欢

热点阅读