说我的应用程序有敏感数据,我想确保用户在访问之前通过Passcode在本地进行身份验证。我正在使用iOS 8中的Xamarin TouchID身份验证,如Xamarin intro to touch ID article所示。我在运行iOS 7的旧设备上对此进行了测试,但显然无效。所以我的问题是,如何使用iOS 7设备进行密码验证?这仅适用于iOS 8吗?
我注意到iOS应用Mint使用自定义密码。如何实现连接到TouchID弹出窗口中的“输入密码”按钮的自定义密码?如果我知道该怎么做,我可以实现我自己的自定义密码,以便它适用于iOS 7 ...
答案 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;
}
}
}];
显然需要完成代码,您还需要处理所有其他错误情况。