2

使用touch id认证密码时,点击home键,然后在后台打开应用程序,并将其带到前台,手指一直按住home键,程序会通过进入程序验证密码,会有延迟一个touch id界面,当我点击取消时,程序会像这样卡住,哪里有问题?非常感谢您的帮助!</p>

![错误截图] https://www.dropbox.com/s/rg2bx5ob1ehzc54/86.pic.jpg?dl=0

4

1 回答 1

3

当您在应用程序启动后立即使用 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 的回答也有效。

于 2014-11-24T06:51:27.697 回答