ios – TouchID调用applicationWillResignActive和applicationDidBecomeActive

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

是否有可能检查touchID进程是否正在调用这些方法(我想避免像应用程序委托中的BOOL那样,如果当前显示了touchID输入,则设置该对象.)

BR

解决方法

猜测您遇到的问题是您在applicationWillResignActive和applicationDidBecomeActive中有代码,这些代码会影响视图控制器,该控制器请求触摸ID验证,并确定它是一个棘手的循环.

您需要做的是将这些调用移到applicationDidEnterBackground和applicationWillEnterForeground,因为调用Touch ID机制时不会调用它们.

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

> applicationDidBecomeActive
>你的应用程序的其他东西
>您的应用程序会调用触摸ID,触发ID:
> applicationWillResignActive

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

> applicationDidBecomeActive

如果您在applicationDidBecomeActive -or- applicationWillResignActive中存在影响Touch ID的代码,那么您将创建一个无休止的循环,或者更糟糕的是,您将创建一个充满标志和特殊情况的代码.

而应该在两种情况下调用Touch ID:

>当您的应用程序启动时(通常在didFinishLaunchingWithOptions中)>当您的应用程序的applicationWillEnterForeground被调用时.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...