Apple在iOS8系統對開發者開放了TouchID驗證接口,對于iPhone5s,iOS8及以上版本的手機來說,可以使用指紋驗證來做一些事情。
1、引入LocalAuthentication.framework;
2、指紋驗證代碼:
LAContext *context = [[LAContext alloc] init];
context.localizedFallbackTitle = @"使用密碼登入";
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"指紋登入" reply:^(BOOL success, NSError *error) {
NSString *alertStr = @"";
if (success) {
alertStr = @"指紋驗證成功";
}
else {
NSInteger errorCode = error.code;
switch (errorCode) {
case LAErrorAuthenticationFailed:
//驗證失敗
alertStr = @"指紋比對失敗,請重試";
break;
case LAErrorUserCancel:
//使用者取消驗證
alertStr = @"驗證已取消(使用者)";
break;
case LAErrorUserFallback:
//使用者
alertStr = @"已選擇密碼驗證";
break;
case LAErrorSystemCancel:
alertStr = @"驗證已取消(系統)";
break;
case LAErrorPasscodeNotSet:
alertStr = @"裝置未設定解鎖密碼";
break;
case LAErrorTouchIDNotAvailable:
alertStr = @"該裝置暫不支援指紋驗證";
break;
case LAErrorTouchIDNotEnrolled:
alertStr = @"您未設定指紋密碼";
break;
default:
break;
}
}
dispatch_async(dispatch_get_main_queue(), ^{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:alertStr delegate:nil cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
[alert show];
});
}];