您的位置:首页 > 移动开发 > IOS开发

ios开发-指纹识别

2015-05-26 22:50 232 查看
最近我们使用支付宝怎么软件的时候,发现可以使用指纹了,看起来是否的高大上。当时苹果推出了相关接口,让程序写起来很简单哈。

在iPhone5s的时候,苹果推出了指纹解锁。但是在ios8.0的时候苹果才推出相关的接口

所有我们需要判断硬件设备和ios系统版本是否支持

下面的例子是,先提示指纹识别,如果不支持或者主动取消,则需要手动输入密码认证

所以我们第一步需要判定系统版本,如果不支持,我们直接返回,即可

if ([UIDevice currentDevice].systemVersion.floatValue < 8.0) {
[self inputUserInfo];
return;
}


第二步,判断手机是否支持指纹识别,我们要使用到一个LAContext类

//创建LAContext
LAContext *ctx = [[LAContext alloc] init];
// 判断设备是否支持指纹识别
if ([ctx canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL]) {

//识别代码部分
}


第三步,在第二步的“识别代码部分”填写正经的识别代码

//创建LAContext
LAContext *ctx = [[LAContext alloc] init];
// 判断设备是否支持指纹识别
if ([ctx canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL]) {

NSLog(@"请按手指");

// 输入指纹 - 回调是异步的
[ctx evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"提示文字" reply:^(BOOL success, NSError *error) {

// 1. 如果输入成功
if (success) {
//成功
} else {
// 判断错误类型是否是主动自行输入密码
if (error.code == LAErrorUserFallback) {
dispatch_async(dispatch_get_main_queue(), ^{
//密码验证方法
});
}
}
}];
} else {

//密码验证方法
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: