iOS9 集成指纹解锁

添加依赖库 LocalAuthentication.framework

#import <LocalAuthentication/LocalAuthentication.h>  // 头文件
 1     LAContext *context = [[LAContext alloc] init];
 2     NSError *error = nil;
 3   //  这句代码是让指纹验证的提示框没有输入密码,也可以自己定义文字
 4     context.localizedFallbackTitle = @"";
 5     if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
 6         [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"请通过指纹验证解锁应用" reply:^(BOOL success, NSError * _Nullable error) {
 7             if (success) { // 验证成功
 8     // 指纹解锁是在子线程执行的,当你要刷新UI的时候需要回到主线程
 9                 dispatch_async(dispatch_get_main_queue(), ^{ 
10                });
11             } else {
12                 switch (error.code) {
13                     case LAErrorAuthenticationFailed: // 用户验证3次之后,这个指纹提示框就会消失
14 
15     // 指纹解锁是在子线程执行的,当你要刷新UI的时候需要回到主线程
16                 dispatch_async(dispatch_get_main_queue(), ^{ 
17 
18                });
19                         break;
20 
21                     case LAErrorUserCancel: // 用户取消
22     // 指纹解锁是在子线程执行的,当你要刷新UI的时候需要回到主线程
23                 dispatch_async(dispatch_get_main_queue(), ^{ 
24 
25                });
26                         break;
27 
28                     case LAErrorUserFallback: // 用户点击输入密码,或者是自定义的文字
29     // 指纹解锁是在子线程执行的,当你要刷新UI的时候需要回到主线程
30                 dispatch_async(dispatch_get_main_queue(), ^{ 
31 
32                });
33                         break;
34       } else {
35 
36         NSLog(@"您的设备不能使用 TouchID 进行身份验证");
37 
38         UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"您的设备不能使用 TouchID 进行身份验证" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];
39 
40         [alertView show];
41 
42     }
View Code

 

 

posted @ 2015-11-24 11:17  为了取悦自己  阅读(122)  评论(0编辑  收藏  举报