2

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


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

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

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

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

于 2015-04-08T12:15:25.833 回答