美文网首页
iOS-指纹调用

iOS-指纹调用

作者: 假如兔子失了尾 | 来源:发表于2021-01-04 10:19 被阅读0次

/**

指纹识别

@par suc 成功回调

@par err 失败回调

    -错误码

     -1: 连续三次指纹识别错误

     -2: 在TouchID对话框中点击了取消按钮

     -3: 在TouchID对话框中点击了输入密码按钮

     -4: TouchID对话框被系统取消,例如按下Home或者电源键

     -8: 连续五次指纹识别错误,TouchID功能被锁定,下一次需要输入系统密码

*/

+ (void)FingerprintRecognition:(void(^)(NSString*data))sucfailure:(void(^)(NSIntegercode))err{

    LAContext *context = [[LAContext alloc] init];

    NSError*authError =nil;

    NSString*LocalString =@"我们需要验证您的指纹以确认您的身份";

    // 判断设备是否支持指纹识别

    if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) {

        // 指纹识别只判断当前用户是否机主

        [contextevaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:LocalString reply:^(BOOL success, NSError *error) {

            if(success) {

                NSLog(@"指纹认证成功");

                runMain(^{

                    suc(@"指纹认证成功");

                });

            }else{

                // 用户未成功通过身份验证,请查看错误并采取适当的措施

                NSLog(@"指纹认证失败,%@",error.description);

                // 错误码 error.code

                // -1: 连续三次指纹识别错误

                // -2: 在TouchID对话框中点击了取消按钮

                // -3: 在TouchID对话框中点击了输入密码按钮

                // -4: TouchID对话框被系统取消,例如按下Home或者电源键

                // -8: 连续五次指纹识别错误,TouchID功能被锁定,下一次需要输入系统密码

                NSLog(@"----%ld",(long)error.code);

                runMain(^{

                    err(error.code);

                });

            }

        }];

    }else{

        // 无法评估政策; 查看authError并向用户显示适当的消息

        NSLog(@"TouchID设备不可用");

        // TouchID没有设置指纹

        // 关闭密码(系统如果没有设置密码TouchID无法启用)

        runMain(^{

            [LoadingView showError:@"TouchID无法启用"];

        });

    }

}

相关文章

网友评论

      本文标题:iOS-指纹调用

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