gpt4 book ai didi

浅析IOS开发TouchID指纹解锁功能

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章浅析IOS开发TouchID指纹解锁功能由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

效果图如下 。

浅析IOS开发TouchID指纹解锁功能

实现过程 。

1.首先引入指纹解锁必须的头文件 。

?
1
#import <localauthentication/localauthentication.h>

2.了解下主要的两个方法 这个方法是判断设备是否支持touchid的.

?
1
- ( bool )canevaluatepolicy:(lapolicy)policy error:(nserror * __autoreleasing *)error __attribute__((swift_error(none)));

这个是用来验证touchid的,会有弹出框出来.

?
1
2
3
- ( void )evaluatepolicy:(lapolicy)policy
   localizedreason:(nsstring *)localizedreason
      reply:( void (^)( bool success, nserror * __nullable error))reply;

3.新建lacontext对象 。

主要的属性设置 。

localizedfallbacktitle:用于设置左边的按钮的名称,默认是enter password. 。

localizedreason:用于设置提示语,表示为什么要使用touch id 。

解锁失败界面 。

?
1
2
3
4
5
6
//创建lacontext
lacontext *context = [lacontext new ];
 
 
//这个属性是设置指纹输入失败之后的弹出框的选项
context.localizedfallbacktitle = @ "没有忘记密码" ;

4.主要回调方法,包括成功以及失败的 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
nserror *error = nil;
  if ([context canevaluatepolicy:lapolicydeviceownerauthenticationwithbiometrics error:&error]) {
   nslog(@ "支持指纹识别" );
   [context evaluatepolicy:lapolicydeviceownerauthenticationwithbiometrics localizedreason:@ "指纹解锁" reply:^( bool success, nserror * _nullable error) {
    if (success) {
     nslog(@ "验证成功 刷新主界面" );
    } else {
     nslog(@ "%@" ,error.localizeddescription);
     switch (error.code) {
      case laerrorsystemcancel:
      {
       nslog(@ "系统取消授权,如其他app切入" );
       break ;
      }
      case laerrorusercancel:
      {
       nslog(@ "用户取消验证touch id" );
       break ;
      }
      case laerrorauthenticationfailed:
      {
       nslog(@ "授权失败" );
       break ;
      }
      case laerrorpasscodenotset:
      {
       nslog(@ "系统未设置密码" );
       break ;
      }
      case laerrortouchidnotavailable:
      {
       nslog(@ "设备touch id不可用,例如未打开" );
       break ;
      }
      case laerrortouchidnotenrolled:
      {
       nslog(@ "设备touch id不可用,用户未录入" );
       break ;
      }
      case laerroruserfallback:
      {
       [[nsoperationqueue mainqueue] addoperationwithblock:^{
        nslog(@ "用户选择输入密码,切换主线程处理" );
       }];
       break ;
      }
      default :
      {
       [[nsoperationqueue mainqueue] addoperationwithblock:^{
        nslog(@ "其他情况,切换主线程处理" );
       }];
       break ;
      }
     }
    }
   }];
  } else {
   nslog(@ "不支持指纹识别" );
   switch (error.code) {
    case laerrortouchidnotenrolled:
    {
     nslog(@ "touchid is not enrolled" );
     break ;
    }
    case laerrorpasscodenotset:
    {
     nslog(@ "a passcode has not been set" );
     break ;
    }
    default :
    {
     nslog(@ "touchid not available" );
     break ;
    }
   }
 
   nslog(@ "%@" ,error.localizeddescription);
  }

总结 。

到这里指纹解锁功能几乎就算完成,使用确实很简单,因为苹果都已经给我们做好一切,对我们开发者来说就很轻松了。教程写的很简陋,希望大家多多包涵,如果有疑问大家可以留言交流.

最后此篇关于浅析IOS开发TouchID指纹解锁功能的文章就讲到这里了,如果你想了解更多关于浅析IOS开发TouchID指纹解锁功能的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com