touch id简介:
苹果公司在iphone 5s手机中推出了指纹识别功能,提高手机安全性的同时也方便了用户操作。其功能是通过touch id实现的,从ios 8系统开始,苹果开发一些touch id的api使得开发人员可以在自己的应用程序中调用指纹识别功能。
touch id功能就是指纹识别密码。使用指纹识别功能需要先进入设置—touch id 与密码中根据提示添加指纹。
从ios 8系统开始开放了touch id的验证接口功能,在应用程序中可以判断输入的touch id是否设置持有者的touch id。
touch id使用:
创建一个ios工程项目。
打开工程的general — linked frameworks and libraries面板,单机“+”按钮添加“localauthentication.framework”框架,如图26-1所示。
编写程序时导入“localauthentication.framework”框架的头文件:
#import <localauthentication/localauthentication.h>。
写了一个简单的测试touch id的例子,效果图如下:(若图片不清楚可右键将图片保存本地再放大看)
下面贴上代码:
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
79
|
#import <uikit/uikit.h>
@interface hwtouchidtestvc : uiviewcontroller
@end
#import "hwtouchidtestvc.h"
#import <localauthentication/localauthentication.h>
@interface hwtouchidtestvc ()
@property (nonatomic, weak) uilabel *label;
@end
@implementation hwtouchidtestvc
- ( void )viewdidload {
[super viewdidload];
self.view.backgroundcolor = [uicolor blackcolor];
//创建控件
[self creatcontrol];
}
- ( void )creatcontrol
{
//测试按钮
uibutton *btn = [[uibutton alloc] initwithframe:cgrectmake(50, 200, 120, 50)];
btn.backgroundcolor = [uicolor orangecolor];
[btn settitle:@ "测试按钮" forstate:uicontrolstatenormal];
[btn addtarget:self action:@selector(btnonclick) forcontrolevents:uicontroleventtouchupinside];
[self.view addsubview:btn];
//提示标签
uilabel *label = [[uilabel alloc] initwithframe:cgrectmake(220, 200, 120, 50)];
label.text = @ "测试标签" ;
label.textalignment = nstextalignmentcenter;
label.backgroundcolor = [uicolor yellowcolor];
[self.view addsubview:label];
self.label = label;
}
- ( void )btnonclick
{
//初始化
lacontext *context = [[lacontext alloc] init];
nserror *error = nil;
//显示的文字
nsstring *str = @ "指纹验证" ;
//判断是否能进行验证
if ([context canevaluatepolicy:lapolicydeviceownerauthenticationwithbiometrics error:&error]) {
[context evaluatepolicy:lapolicydeviceownerauthenticationwithbiometrics localizedreason:str reply:^( bool success, nserror * _nullable error) {
if (success) {
nslog(@ "验证成功" );
dispatch_async(dispatch_get_main_queue(), ^{
self.label.text = @ "验证成功" ;
self.label.backgroundcolor = [uicolor greencolor];
});
} else {
nslog(@ "验证失败,error:%@" , error);
dispatch_async(dispatch_get_main_queue(), ^{
self.label.text = @ "验证失败" ;
self.label.backgroundcolor = [uicolor redcolor];
});
}
}];
} else {
nslog(@ "无法验证指纹,error: %@" , error);
self.label.text = @ "无法验证" ;
}
}
@end
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/hero_wqb/article/details/50612737