ios - Firebase Auth stateListener 有必要吗?
<p><p>在我的 iPhone 应用程序的主屏幕中,我需要检查用户是否已登录。在我的 <code>viewDidAppear()</code> 我这样检查:</p>
<pre><code>override func viewDidAppear(_ animated: Bool) {
if let user = FIRAuth.auth()?.currentUser {
// user is logged in
} else {
// user not logged in, send to home page
self.performSegue(withIdentifier: "NotLoggedInSegue", sender: self)
}
}
</code></pre>
<p>在每个在线示例中,我看到人们在他们的代码中使用 <code>FIRAuth.auth()?.addStateDidChangeListener</code>。如果我的应用程序的唯一身份验证是通过 gmail 进行的,我是否需要它或者我正在检查用户是否正常登录的方式?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您编写的代码是正确的,但只有在调用 view did 方法时才会调用它,因此假设在 viewDidAppear 身份验证 token 过期并且该屏幕上的用户正在访问 FIRAuth.auth.currentuser 中的几个值,这将返回 nil </p>
<p>尽管每当身份验证发生状态变化时都会调用 FIRAuth.auth()?.addStateDidChangeListener()。</p>
<pre><code>handle = FIRAuth.auth()?.addStateDidChangeListener() { (auth, user) in
// ...
}
</code></pre></p>
<p style="font-size: 20px;">关于ios - Firebase Auth stateListener 有必要吗?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/43601137/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/43601137/
</a>
</p>
页:
[1]