zoukankan      html  css  js  c++  java
  • Swift下调用Touch ID实现指纹识别

    iOS开发交流群:484884085

    欢迎大家增加。


    例如以下代码是实现调用5S以上设备指纹识别的代码,依照官网给出的代码,会出现识别成功后非常久才运行成功后调用的代码,逛了非常久的。才知道要将其放入主线程实现才干够。

    详细代码例如以下。

    1、引入类  import LocalAuthentication

    //调用指纹识别函数
        func loginWithTouchID()
        {
            if((UIDevice.currentDevice().systemVersionasNSString).floatValue >= 8.0)
            {
                // Get the local authentication context.
                let context = LAContext()
                // Declare a NSError variable.
                var error: NSError?

    // Set the reason string that will appear on the authentication alert. var reasonString = "弹出指纹识别框时提示用户的字符串" // Check if the device can evaluate the policy. if context.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &error) { context.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: reasonString, reply: { (success: Bool, evalPolicyError: NSError?) -> Voidin dispatch_async(dispatch_get_main_queue(), { () -> Voidin //放到主线程运行。这里特别重要 if success { //调用成功后你想做的事情 } else { // If authentication failed then show a message to the console with a short description. // In case that the error is a user fallback, then show the password alert view. println(evalPolicyError?.localizedDescription) } }) }) } else { // If the security policy cannot be evaluated then show a short message depending on the error. switch error!.code { caseLAError.TouchIDNotEnrolled.rawValue:  println("您还没有保存TouchID指纹") caseLAError.PasscodeNotSet.rawValue: println("您还没有设置密码") default: // The LAError.TouchIDNotAvailable case. println("TouchID不可用") } // Optionally the error description can be displayed on the console. println(error?.localizedDescription) // Show the custom alert view to allow users to enter the password. } } }


    
  • 相关阅读:
    pytest扫盲21--pytest-assume多重效验插件
    pytest扫盲20--HTML报告
    pytest扫盲19--pytest重运行机制
    pytest扫盲18--配置文件pytest.ini
    pytest扫盲17--自定义命令行参数
    pytest扫盲16--某个用例失败后,关联的用例标记为xfail
    pytest扫盲15--skip跳过用例
    pytest扫盲14--pytest.raises()函数文档及在参数化中处理异常
    pytest扫盲13--遇到异常的两种处理方式及断言异常
    【CF】CF1430_G Yet Another DAG Problem_最小割/网络流/状压dp
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/7219008.html
Copyright © 2011-2022 走看看