设备上的本地身份验证仅包含密码,而不是TouchID

时间:2015-04-06 23:46:21

标签: ios authentication ios7 xamarin touch-id

说我的应用程序有敏感数据,我想确保用户在访问之前通过Passcode在本地进行身份验证。我正在使用iOS 8中的Xamarin TouchID身份验证,如Xamarin intro to touch ID article所示。我在运行iOS 7的旧设备上对此进行了测试,但显然无效。所以我的问题是,如何使用iOS 7设备进行密码验证?这仅适用于iOS 8吗?


我注意到iOS应用Mint使用自定义密码。如何实现连接到TouchID弹出窗口中的“输入密码”按钮的自定义密码?如果我知道该怎么做,我可以实现我自己的自定义密码,以便它适用于iOS 7 ...

enter image description here enter image description here

1 个答案:

答案 0 :(得分:2)

您无法在iOS 7中使用Touch ID。

要使用自定义密码,只需捕获evaluatePolicy中的LAErrorUserFallback错误。

LAContext *context = [[LAContext alloc] init];
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
                 localizedReason:@"Your Text" reply:^(BOOL success, NSError *error) {
                     if(success) {
                     // handle success
                     } else {
                         NSString *failureReason;
                         switch (error.code) {
                             case LAErrorUserFallback:
                                // show your custom passcode screen
                                 break;
                         } 
                     }
                 }];

显然需要完成代码,您还需要处理所有其他错误情况。