ios - TouchID 调用 applicationWillResignActive 和 applicationDidBecomeActive

标签 ios ios8 touch-id

我想知道 Apple 是否打算使用 TouchID 功能调用这些生命周期方法。

是否有可能检查 touchID 进程是否正在调用这些方法(我想避免在应用程序委托(delegate)中使用 BOOL 之类的东西,如果当前显示或不显示 touchID 输入则设置......)

br

最佳答案

我猜你遇到的问题是你在 applicationWillResignActiveapplicationDidBecomeActive 中有代码影响请求 Touch ID 验证的 View Controller ,它会触发一个棘手的循环。

您需要做的是将这些调用移至 applicationDidEnterBackgroundapplicationWillEnterForeground,因为在调用 Touch ID 机制时不会调用它们。

为了解释序列,当您的应用程序启动时,将执行以下序列:

  1. applicationDidBecomeActive
  2. ..您的应用做的其他事情
  3. 您的应用会调用触发的 Touch ID:
  4. applicationWillResignActive

... Your app is disabled until the user verifies fingerprint (fails or succeeds) ...

  1. applicationDidBecomeActive

如果您在 applicationDidBecomeActive - 或 - applicationWillResignActive 中有影响 Touch ID 的代码,您将创建一个无限循环或更糟的是,您将创建充满标志的代码和特殊情况。

相反,您应该在两种情况下调用 Touch ID:

  • 当您的应用启动时(通常在 didFinishLaunchingWithOptions 中)

  • 当您的应用的 applicationWillEnterForeground 被调用时。

关于ios - TouchID 调用 applicationWillResignActive 和 applicationDidBecomeActive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26035546/

相关文章:

ios - 如何在 iOS 10 上使用 Facebook iOS SDK

objective-c - UITextField 触摸时崩溃 -- iOS8

ios - 检查BOOL状态是否足够?还是应该检查错误?

ios - Touch ID 和 Face ID 的官方图标

ios - 在编辑模式下更改 UITableViewCell 中红色减号按钮的位置

android - 如何更改 react-native 中的默认 fontFamily

ios - iOS8 中的 UIWindow 无法正确旋转

xcode - 如何让返回键执行与 Swift 中按下按钮相同的操作?

ios - Touch ID API 响应速度很慢

ios - UIDocumentInteractionController可以预览哪些文件类型?