- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章浅析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的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在创建一个应用程序,用户必须登录并可以使用 FaceID 或 TouchID 来加快登录过程。 可以在应用程序的内部设置中启用或禁用使用 FaceID 或 TouchID 登录。 首次使用 Tou
本文实例为大家分享了iOS指纹解锁的具体代码,供大家参考,具体内容如下 1、首先,引入依赖框架 LocalAuthentication.framework #import <LocalAu
我想使用 TouchID 验证我自己的应用程序。 1.我希望用户可以点击“输入密码”来调用系统内置密码屏幕进行身份验证,如果成功则进入我自己的应用程序。 但我不知道如何在“case LAErrorUs
我有一个安全 Controller ,当应用程序激活时触发 Touch ID。如果用户取消 Touch ID 框,则会显示一个键盘以输入数字代码。但是我的键盘已加载(inputAccessoryVie
如何解决 TouchId 错误:Domain=com.apple.LocalAuthentication Code=-2“已被用户取消。” 我尝试再次添加本地上下文: let myContext =
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 6 年前。 Improve this qu
我正在使用 TouchID 帮助用户登录我的应用程序。每当应用程序启动时,用户首先看到的是 TouchID 对话框。 我的问题是,如果用户在他的手指已经放在主页按钮上时启动我的应用程序 - 用户会立即
我正在研究 Apple 的 Touch ID,更准确地说是 Local Authenticator。截至目前,文档非常稀少。主要是这样的: LAContext *myContext = [[LACon
我需要我的应用程序使用 TouchId 登录,但我不希望用户选择或回退到密码选项。换句话说,我想隐藏下图中的“输入密码”标签。谢谢。 最佳答案 答案是“是”。您可以隐藏“输入密码”... 试试下面的代
touchid指纹识别是iphone 5s设备中增加的一项重大功能.苹果的后续移动设备也相继添加了指纹功能,在实际使用中还是相当方便的,比如快捷登录,快捷支付等等.系统提供了相应框架,使用起来还是比
LocalAuthentication 将让您回退到需要手动输入密码,但如果您使用钥匙串(keychain) touchid 工作流程,则回退是密码。 要么他们没有将它存储在钥匙串(keychain)
在我的应用程序 IOS 中,我在 ViewController 中添加了一个 Switch 元素来允许用户启用或不启用 TouchId 身份验证。但我不明白是否有“isEnableToutchId”属
我想用 Passcode 或 TouchID 锁定特定应用程序,如 facebook、whatsapp 等,这样未经授权的用户就无法访问我想保护的应用程序。 我在网上没有找到任何方法,不确定是否可以锁
在进行身份验证后,如果我按取消并设置 [buttonTouch setHidden:NO]; 出现,按钮不会立即出现,需要很长时间才能出现,尽管按钮事件正在运行。 我的代码: if ([context
我们的应用程序有以下要求。 如果用户在应用安装后添加/更新任何指纹,我们应该限制用户登录。 最佳答案 如果您的应用将某些凭据保存到钥匙串(keychain),然后使用 TouchID 访问该保存的凭据
如果我有一个我们想要使用 TouchID 的公司应用程序,但需要防止在员工的设备上注册了另一个家庭成员的指纹的情况下未经授权的访问,可以做什么? 最佳答案 不支持您想要的内容。 LAContext 功
我的一个应用程序具有带电子邮件和密码的登录功能,并且按预期工作正常。 现在,我的客户在这里想要什么 email + TouchID (没有密码) 需要登录到应用程序。 所以我的第一个问题是,我可以同时
我已经在 View Controller 上实现了密码/TouchID/FaceID,当我遇到成功案例时,我希望提示停止触发,但它只是一遍又一遍地触发。 在我的 VC 中: var context:
我的 iOS 应用程序使用 TouchID 来解锁一些安全服务。设计者不希望“取消”按钮的文本显示为“取消”,而是显示为“稍后设置”。我可以看到如何更改默认“输入密码”按钮的文本,这很简单: LACo
有没有办法确定是否已注册指纹但 Touch ID 由于指纹验证失败次数过多而当前处于“暂停”状态? 最佳答案 错误代码可以与 LAError 类进行比较。 func errorMessageForLA
我是一名优秀的程序员,十分优秀!