我要求用户使用Touch Id进行身份验证(在iOS 8上)。 触摸ID对话框显示在另一个视图上方,该视图将在"输入密码"或"取消"点击按钮而不是用户使用指纹进行身份验证。
如果成功 - 我弹出视图控制器。 如果是"取消"或"输入密码"我让用户输入密码然后(如果密码正确) - 我弹出视图控制器。
如果用户手动输入密码,则会立即弹出视图。 如果用户正在使用指纹 - 立即调用弹出代码(根据调试器和打印到控制台的NSLog) - 但UI会在大约5秒后显示弹出。
可能是什么问题?
答案 0 :(得分:7)
尝试确保它在主线程上运行,也许像GCD Dispatch这样的技巧就可以了。
dispatch_async(dispatch_get_main_queue(), ^{
[self.navigationController popViewControllerAnimated: YES];
});