使用touch id认证密码时,点击home键,然后在后台打开应用程序,并将其带到前台,手指一直按住home键,程序会通过进入程序验证密码,会有延迟一个touch id界面,当我点击取消时,程序会像这样卡住,哪里有问题?非常感谢您的帮助!</p>
![错误截图] https://www.dropbox.com/s/rg2bx5ob1ehzc54/86.pic.jpg?dl=0
使用touch id认证密码时,点击home键,然后在后台打开应用程序,并将其带到前台,手指一直按住home键,程序会通过进入程序验证密码,会有延迟一个touch id界面,当我点击取消时,程序会像这样卡住,哪里有问题?非常感谢您的帮助!</p>
![错误截图] https://www.dropbox.com/s/rg2bx5ob1ehzc54/86.pic.jpg?dl=0
当您在应用程序启动后立即使用 Touch ID 并在 evaluatePolicy:localizedReason:reply: 的回复块中更改当前视图控制器或窗口时,会发生此问题。
在 Touch ID 的可用性检查(canEvaluatePolicy:error:) 后稍等片刻。
将 evaluatePolicy:localizedReason:reply: 放入 dispatch_after() 中,如下所示:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, .5f * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
...
});
我在这里制作了一个示例项目以及一个解决方案:
https://github.com/RungeZhai/TouchIDIssue
Aviram 的回答也有效。