有关addAuthStateDidChangeListener
函数的Firebase Auth for iOS文档说明:
将块作为“auth state does changed”监听器注册。在以下情况下调用:
- 该块被注册为监听器,
- 具有与当前用户不同的UID的用户已登录,或
- 当前用户已退出。
在根据它的标准调用语义添加块之后立即调用该块,在主线程上异步。
上面的第一点和最后一段让我感到困惑。如果我在初始化Firebase后立即添加了一个监听器,那么在Firebase Auth从之前的会话中恢复用户之前是否可以调用监听器?
在这种情况下,如何判断侦听器与空用户的调用是否因为没有用户或者用户尚未恢复而区分?
确实可以在恢复身份验证状态之前调用身份验证状态侦听器,在这种情况下,在使用“用户已登录”调用之前,将首先使用“用户未登录”状态调用侦听器。 ”。
Android SDK现在实际上隐藏了第一个身份验证状态,但我不认为iOS SDK会做同样的事情。你可能想尝试一下。只需登录应用程序,关闭应用程序,等待至少一个小时(以便您的访问令牌已过期)并再次启动应用程序。
我不确定大多数开发人员如何处理这个问题,但我知道这两种方式:
我同意,如果这些在移动应用程序中是理想的,那么我很想知道别人做了什么。