5

由于 Apple 在 iOS 7 中发布了具有指纹扫描功能的 Xcode 5,我们可以在我们的应用程序中实现它吗?如果是,我们使用哪个 SDK 来实现。

请提供示例代码或指定我们使用哪个 SDK。

4

2 回答 2

4

不,指纹扫描仪对开发人员不可用,它在当前的 SDK 中可用。

使用即将推出的 iOS 8 SDK,您将能够通过官方 SDK 使用指纹扫描仪。

您可以在 iOS 中的新增功能:iOS8文档中了解有关 TouchID 的更多信息。

于 2013-09-23T07:21:50.717 回答
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];

   }
}
于 2015-11-21T12:40:11.363 回答