我正在使用iOS / Swift,当我在模拟器中删除应用程序并重建并重新安装应用程序时,用户仍然登录。当我运行时
print(FIRAuth.auth()?.currentUser!.uid)
即使我重新安装了该应用,它也会返回用户的ID。它为什么这样做?我试图让它成为一个segue,如果用户已经登录,但由于某种原因,即使我重建并重新安装应用程序,用户仍然登录。
我在viewDidAppear中运行此代码,如Google项目示例所示,即使重新安装该应用,它也会继续登录。
if let user = FIRAuth.auth()?.currentUser {
self.signedIn(user)
}
func signedIn(user: FIRUser?) {
MeasurementHelper.sendLoginEvent()
AppState.sharedInstance.displayName = user?.displayName ?? user?.email
AppState.sharedInstance.photoUrl = user?.photoURL
AppState.sharedInstance.signedIn = true
NSNotificationCenter.defaultCenter().postNotificationName(Constants.NotificationKeys.SignedIn, object: nil, userInfo: nil)
performSegueWithIdentifier(Constants.Segues.SignInToFp, sender: nil)
}
这不是检查用户是否已登录的正确方法吗?
编辑:好吧现在我将用户UID保存到NSUserDefaults(NSUserDefaults在重新安装应用程序时清除),并在viewDidAppear中检查它是否为nil并匹配FIRAuth.auth()?currentUser,但我想知道什么是继续。