由于Apple发布了在iOS 7中使用FingerPrint扫描的Xcode 5,我们可以在我们的应用程序中实现这一点吗?如果是,我们将使用哪个SDK进行实施。
请提供示例代码或指定我们使用的SDK。
答案 0 :(得分:4)
开发人员无法使用指纹扫描程序,它在当前的SDK中可用。
通过即将推出的iOS 8 SDK,您可以通过官方SDK使用指纹扫描程序。
您可以在What's New in iOS: iOS8文档中详细了解TouchID。
答案 1 :(得分:1)
可以使用 LAContext (本地身份验证框架)来实现,它可用于评估安全策略。它使用Touch ID传感器检查身份验证是设备所有者。将来可能还有其他安全策略。
以下是相同的代码段:
-(void)handlerForFingerTouch{
LAContext *context = [[LAContext alloc] init];
NSError *error = nil;
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
localizedReason:@"Are you the device owner?"
reply:^(BOOL success, NSError *error) {
if (error) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"There was a problem verifying your identity."
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alert show];
return;
}
if (success) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Success"
message:@"You are the device owner!"
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alert show];
} else {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"You are not the device owner."
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alert show];
}
}];
} else {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"Your device cannot authenticate using TouchID."
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alert show];
}
}