iOS开发中 Touch ID的使用
来源:互联网 发布:258优化网站 编辑:程序博客网 时间:2024/04/30 17:07
背景:有个朋友说有没有办法把iPhone上的相册、备忘录加密(现在的备忘录是苹果已经加入了加密功能),于是想了下要怎么实现保存的数据实现访问加密、解密功能。
要提高逼格肯定是使用指纹识别,于是在苹果提供的文档里面搜索了“Touch ID”(没看之前以为会很难的)。、
苹果没有过多的介绍这个功能,提供了一个关于钥匙串存储密码和Touch ID 验证的Demo,然后就是一段怎么使用Local Authentication框架的代码。
先看效果图:
Touch ID验证代码:
LAContext *myContext = [[LAContextalloc]init];
NSError *authError = nil;
//授权原因
NSString *myLocalizedReasonString = @"我需要授权";
//if条件判断设备是否支持Touch ID 是否开启Touch id等这个一定要写上(曾经3D Touch使用的时候没判断导致iOS9以后的系统启动app就崩溃)
if ([myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometricserror:&authError]) {
//弹出指纹识别界面
[myContextevaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometricslocalizedReason:myLocalizedReasonStringreply:^(BOOL success, NSError *authenticationError) {
if (success) {
/*如果验证成功了,如果你只需要使用指纹验证功能的话(注意这个验证的密码是你设置里面设置的那个密码,也就是一般人都会用来解锁iphone的那个密码) 在这里面可实现你设计的功能了,如果你的应用需要独立密码的话,需要让Touch ID 和 那个独立密码绑定 ,支付宝是在验证成功之后 跳转到设置支付密码的页面 让这个Touch和支付密码绑定,实现指纹支付,每次指纹识别通过间接性的使用了支付密码(本质还是支付密码)*/
NSLog(@"验证成功成功");
}
else {
switch (authenticationError.code) {
caseLAErrorAuthenticationFailed:
{
NSLog(@"用户提供的指纹不对");
break;
}
caseLAErrorUserCancel:
{
NSLog(@"用户点击了取消按钮");
break;
}
caseLAErrorUserFallback:
{
NSLog(@"用户选择输入密码");
break;
}
caseLAErrorSystemCancel :
{
NSLog(@"切换到其他的app(按了Home按键),被系统取消");
break;
}//
caseLAErrorTouchIDLockout :
{
NSLog(@"用户指纹错误多次,TOuch ID 被锁定");
break;
}//9.0我试了验证过程中电话进来返回的LAErrorSystemCancel错误码不是这个
caseLAErrorAppCancel:
{
NSLog(@"被(突如其来的)应用(电话)取消");
break;
}//LAErrorInvalidContex
default:
{
break;
}
}
}
}];
}
else {
switch (authError.code) {
//9.0试过了不设置密码返回的是 LAErrorTouchIDNotEnrolled错误码
caseLAErrorPasscodeNotSet:
{
NSLog(@"在设置里面没有设置密码");
break;
}
caseLAErrorTouchIDNotAvailable:
{
NSLog(@"设备不支持Touch ID");
break;
}
caseLAErrorTouchIDNotEnrolled:
{
NSLog(@"在设置里面没有设置Touch Id 指纹");
break;
}
caseLAErrorInvalidContext:
{
NSLog(@"创建的指纹对象失效");
break;
}
default:
{
break;
}
}
}
- iOS开发中Touch ID的使用
- iOS开发中 Touch ID的使用
- iOS开发Touch ID的简单使用
- iOS 中Touch ID(指纹识别技术) 的使用
- ios的touch ID 验证开发
- IOS-Touch ID的简单使用
- iOS之Touch ID的使用
- Touch ID 的使用
- iOS Touch ID 使用详情
- 在iOS 8 SDK中使用Touch ID API(下)
- 在iOS 8 SDK中使用Touch ID API
- 在iOS 8 SDK中使用Touch ID API
- iOS---Touch ID于密码的简易开发教程
- iOS---Touch ID于密码的简易开发教程
- iOS---Touch ID于密码的简易开发教程
- iOS---Touch ID于密码的简易开发教程
- iOS开发之Touch ID指纹验证
- iOS Touch ID 简易开发教程
- 【9505】部落卫队
- Google首席架构师谈Java的命运
- pta 5-2 任务调度的合理性
- 微信红包技术分析
- XML详解
- iOS开发中 Touch ID的使用
- [NOIP2011]聪明的质监员 D2 T2 二分答案
- facebook分享(链接、照片、视频)
- HDU 1258 Sum It Up
- How To Set Up Apache Virtual Hosts on Ubuntu 14.04 LTS
- 二维码扫描之zxing与zbar的优劣
- Bzoj3782:上学路线:组合数学+Lucas+CRT+DP
- expect安装和测试
- 利用Java生成静态HMTL页面