做,这是NSUserDefaults的使用最好的方式。这可以通过以下方式来完成(假设你正在使用FIRAuth但Twitter登录会给你同样的authData):
FIRAuth.auth()!.createUserWithEmail(email, password: pwd, completion: { authData, error in
if error == nil {
//enable automatic login for future usage
NSUserDefaults.standardUserDefaults().setValue(authData?.uid, forKey: "uid")
})
当用户打开应用程序下一次,请执行下列操作检查,看是否或者用户以前未登录过:
if NSUserDefaults.standardUserDefaults().valueForKey(KEY_UID) != nil {
dispatch_async(dispatch_get_main_queue()) {
[unowned self] in
self.performSegueWithIdentifier(SEGUE_LOGGED_IN, sender: nil)
}
}
Firebase将认证令牌自动保留在用户的钥匙串中。如果您在视图控制器中[监视身份验证状态](https://www.firebase.com/docs/ios/guide/user-auth.html#section-monitoring-authentication),则应该恢复它。但是如果没有看到你的代码,就不可能说出发生了什么事情。请提供[MCVE](http://stackoverflow.com/help/mcve)。 –
使用RealmSwift是NSUserDefaults的最佳选择,Realm的工作速度比NSUserDefaults快。 –