IOS指纹实现

Posted

技术标签:

【中文标题】IOS指纹实现【英文标题】:IOS Fingerprint implementation 【发布时间】:2013-09-23 07:16:37 【问题描述】:

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

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

【问题讨论】:

@rckoenes 是正确的apple dev center forum discussion 阅读此Is the fingerprint sensor available for other apps? 【参考方案1】:

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

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

您可以在What's New in iOS: iOS8 文档中阅读有关 TouchID 的更多信息。

【讨论】:

这在 iOS 8 中有所改变。 @Zaph 你是对的,但是由于我不会在每次发布新 SDK 时都浏览所有帖子并更改它们,所以这个答案不会更新。【参考方案2】:

这可以通过使用 LAContext本地身份验证框架)来实现,该框架可用于评估安全策略。它使用 Touch ID 传感器检查验证人是设备所有者。将来可能会有其他安全策略。

这是相同的代码sn-p:

-(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];

   

【讨论】:

以上是关于IOS指纹实现的主要内容,如果未能解决你的问题,请参考以下文章

iOS 指纹识别

Swift下调用Touch ID实现指纹识别

WAX云钱包解决Cloudflare通过SSL指纹识别实现的反爬虫机制

Braintree Apple Sandbox Pay 扫描指纹 iOS 后显示付款未完成错误

iOS8使用TouchID

PHP如何实现指纹验证,求大神指导