iOS指纹识别

 1 -(void)CreateFingerPrint{
 2     LAContext *myContext = [[LAContext alloc] init];
 3     NSError *authError = nil;
 4     NSString *myLocalizedReasonString = @"请验证已有指纹";
 5
 6     // 判断设备是否支持指纹识别
 7     if ([myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) {
 8         if ([[[NSUserDefaults standardUserDefaults]objectForKey:@"zhiwenshibie"]isEqualToString:[Finance_Tools getUserID]]) {
10             // 指纹识别只判断当前用户是否机主
12             [myContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
13                       localizedReason:myLocalizedReasonString
14                                 reply:^(BOOL success, NSError *error) {
15                                     if (success) {
16                                         // User authenticated successfully, take appropriate action
17                                         NSLog(@"指纹认证成功");
18                                         dispatch_async(dispatch_get_main_queue(), ^{
19
20                                         [self createTiXianDownload:[[NSUserDefaults standardUserDefaults] objectForKey:@"PassWord"]];
21                                         });
26                                     } else {
27                                         NSLog(@"指纹认证失败,%@",error.description);
28
29                                         dispatch_async(dispatch_get_main_queue(), ^{
30
31                                             //回到主线程操作代码块
32                                             if ([[@(error.code) stringValue] isEqualToString:@"-2"]||[[@(error.code) stringValue] isEqualToString:@"-4"]) {
33                                             }else if ([[@(error.code) stringValue] isEqualToString:@"-3"]||[[@(error.code) stringValue] isEqualToString:@"-8"]||[[@(error.code) stringValue] isEqualToString:@"-1"]){
34                                                 //失败原因,弹出弹框输入密码
35
36                                             }
37
38                                         });
39
40
41                                     }
42                                 }];
43
44         }else{
45             //开启指纹识别
46         }
47     } else {
48         // Could not evaluate policy; look at authError and present an appropriate message to user
49         NSLog(@"TouchID设备不可用");
50         // TouchID没有设置指纹
51         // 关闭密码(系统如果没有设置密码TouchID无法启用)
52
53//弹出弹框输入密码

56}
57}

失败原因:

1   NSLog(@"指纹认证失败,%@",error.description);
2                                     // 错误码 error.code
3                                     // -1: 连续三次指纹识别错误
4                                     // -2: 在TouchID对话框中点击了取消按钮
5                                     // -3: 在TouchID对话框中点击了输入密码按钮
6                                     // -4: TouchID对话框被系统取消,例如按下Home或者电源键
7                                     // -8: 连续五次指纹识别错误,TouchID功能被锁定,下一次需要输入系统密码
8                                     
时间: 2024-10-21 10:59:51

iOS指纹识别的相关文章

IOS指纹识别调用

最近正在开发的一个app需要加入指纹识别的功能,先搜索一下找到官方文档,简单易懂: https://developer.apple.com/library/ios/documentation/LocalAuthentication/Reference/LocalAuthentication_Framework/index.html#classes 指纹识别主要的目的应该是判断当前用户是否机主,写了个demo简单体验下: 1 首先需要引入指纹识别库 2 引入库 #import "LocalAuth

iOS指纹识别Touch ID的安全性探讨

苹果公司在 iPhone 5s 的发布会上公布了全新的指纹识别安全技术,也就是 Touch ID,开创了生物安全识别技术在便携设备上使用的新篇章.此后,苹果还将此技术带到了 iPad 上.此前没有任何厂家将指纹识别成功的打造在如此常用的设备上,因为涉及到非常复杂的工艺和技术难关.苹果在2012年收购在此方面技术领先的 Authen Tec 公司作为技术基础,并为iOS设备量身打造了 Touch ID.这使得苹果在智能设备的指纹识别方面比其他厂商更加智能且利于使用.三星的指纹识别功能必须要用手指按

iOS 指纹识别

今天做项目用到指纹识别,但是单指纹识别技术实现起来并不复杂,但是验证成功之后需要刷新UI这里我就跳进了一个坑了??????.因为指纹验证也是在子线程进行的 要么是等待很长时间,要么就是报乱七八糟的错误,看的我也是醉了 #import "ViewController.h" //本地验证框架,用于指纹识别(iOS8出现) #import <LocalAuthentication/LocalAuthentication.h> @interface ViewController (

IOS 指纹识别的简单使用

首先导入LocalAuthentication框架 然后导入头文件 #import <LocalAuthentication/LAPublicDefines.h> - (void)beginAuthentication{ LAContext *context = [[LAContext alloc] init]; NSError *eror = nil; NSString *reson = @"指纹识别"; if ([context canEvaluatePolicy:LA

ios 指纹识别解锁

1:添加LocalAuthentication.framework框架 2:实现过程 #import "ViewController.h" #import <LocalAuthentication/LAContext.h> @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; LAContext *myContex

ios开发-指纹识别

最近我们使用支付宝怎么软件的时候,发现可以使用指纹了,看起来是否的高大上.当时苹果推出了相关接口,让程序写起来很简单哈. 在iPhone5s的时候,苹果推出了指纹解锁.但是在ios8.0的时候苹果才推出相关的接口 所有我们需要判断硬件设备和ios系统版本是否支持 下面的例子是,先提示指纹识别,如果不支持或者主动取消,则需要手动输入密码认证 所以我们第一步需要判定系统版本,如果不支持,我们直接返回,即可 1 if ([UIDevice currentDevice].systemVersion.fl

ios开发之指纹识别

iPhone 5s推出指纹识别, 在 iOS 8.0 苹果开放了指纹识别的 SDK 最重要的应用领域是支付 要使用指纹识别功能,需要导入一下头文件 #import <LocalAuthentication/LocalAuthentication.h> 核心代码 if ([UIDevice currentDevice].systemVersion.floatValue < 8.0) { NSLog(@"不支持"); return; } LAContext *ctx =

iOS添加指纹识别

iOS 8 SDK向开发者公开了Touch ID指纹识别功能,允许App对用户身份进行本地验证. 只需要2步即可使用指纹验证身份: 1. 检查Touch ID是否可用. 2. 获得指纹验证结果. 1 LAContext *myContext = [[LAContext alloc] init]; 2 if ([myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:nil]) { 3 [m

如何使用iOS 8 指纹识别,代码,例子

跟想象的一样,iOS 8中的指纹识别使用起来还是很方便的,只需要一个接口就能搞定,屏幕上弹出一个模态的框,跟app store上的一样. 直接上代码吧,下面代码拷贝自Apple的官方文档. 需要添加LocalAuthentication.framework库,注意只有真机才有这个库,模拟器没有 #import "LocalAuthentication/LAContext.h" LAContext *myContext = [[LAContext alloc] init]; NSErro