Я пытаюсь держать пользователя вошедшим в систему после выхода из приложения.Когда пользователь нажимает кнопку «Домой», а затем возвращается снова, он сохраняет их в системе (и загружает данные из API Google Classroom, который я использую).Но когда пользователь принудительно закрывает приложение, оно не будет.Я хотел бы, чтобы пользователь оставался в системе после принудительного закрытия приложения (как при нажатии кнопки «Домой»).Есть ли способ сделать это?Я использую Google Signin & Firebase для входа в систему.
Здесь я вхожу в систему:
func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) {
// ...
if let error = error {
// ...
return
}
print("User Signed into Google")
guard let authentication = user.authentication else { return }
// Set the OAuth authorizer for the Classroom API
service.authorizer = authentication.fetcherAuthorizer()
let credential = GoogleAuthProvider.credential(withIDToken: authentication.idToken,
accessToken: authentication.accessToken)
// ...
Auth.auth().signInAndRetrieveData(with: credential) { (authResult, error) in
if let error = error {
// ...
return
}
// User is signed in
print("User is Signed into Firebase using Google Sign In")
//let welcomeScreen = WelcomeScreenViewController()
//welcomeScreen.performSegueToHomeworkScreen()
if Auth.auth().currentUser != nil {
let navigationController = self.window?.rootViewController as! UINavigationController
for controller in navigationController.viewControllers {
if let LoginViewController = controller as? LogInViewContoller {
LoginViewController.performSegue(withIdentifier: "logInToHome", sender: nil)
break
}
}
}
}
}
А когда пользователь открывает приложение:
func applicationWillEnterForeground(_ application: UIApplication) {
// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
GIDSignIn.sharedInstance().signInSilently()
}
Большое спасибо.