我正在尝试在我的应用上实施Touch ID:
LAContext *ctx = [[LAContext alloc] init];
[ctx evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"Authenticate to access." reply:^(BOOL success, NSError *error) {
if(success){
...
}else{
dispatch_async(dispatch_get_main_queue(), ^{
switch (error.code) {
case LAErrorTouchIDNotAvailable:
case LAErrorUserFallback:
self.passwordPanel.hidden = NO;
break;
default:
//we hit here with error code -2
}
});
}
}];
这是一个内部应用程序,目前由5位用户使用。包括我在内的四个人(混合了iPhone 6和iPhone 5s设备)都没有问题。最后一个用户(也有iPhone 6)不断点击default
个案,其错误代码为-2,设置为LAErrorUserCancel
。问题是,当调用evaluatePolicy
时,他们会立即点击它,甚至无法扫描他们的手指或点按取消。
为什么会发生这种情况?