我想知道 Apple 是否打算使用 TouchID 功能调用这些生命周期方法。
是否有可能检查 touchID 进程是否正在调用这些方法(我想避免在应用程序委托(delegate)中使用 BOOL 之类的东西,如果当前显示或不显示 touchID 输入则设置......)
br
最佳答案
我猜你遇到的问题是你在 applicationWillResignActive
和 applicationDidBecomeActive
中有代码影响请求 Touch ID 验证的 View Controller ,它会触发一个棘手的循环。
您需要做的是将这些调用移至 applicationDidEnterBackground
和 applicationWillEnterForeground
,因为在调用 Touch ID 机制时不会调用它们。
为了解释序列,当您的应用程序启动时,将执行以下序列:
applicationDidBecomeActive
- ..您的应用做的其他事情
- 您的应用会调用触发的 Touch ID:
applicationWillResignActive
... Your app is disabled until the user verifies fingerprint (fails or succeeds) ...
applicationDidBecomeActive
如果您在 applicationDidBecomeActive
- 或 - applicationWillResignActive
中有影响 Touch ID 的代码,您将创建一个无限循环或更糟的是,您将创建充满标志的代码和特殊情况。
相反,您应该在两种情况下调用 Touch ID:
当您的应用启动时(通常在
didFinishLaunchingWithOptions
中)当您的应用的
applicationWillEnterForeground
被调用时。
关于ios - TouchID 调用 applicationWillResignActive 和 applicationDidBecomeActive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26035546/