Я сталкивался с этой проблемой раньше, и у меня есть точное решение для этого.
Добавьте эти две переменные в верхнюю часть вашего AppDelegate:
let userDefault = UserDefaults.standard
let launchedBefore = UserDefaults.standard.bool(forKey: “usersignedin”)
Они позволяют вам использовать userDefaults, а затем позволяют вам установить ключ с именем 'launchBefore'.
В вашей функции входа в Firebase добавьте:
//You should have the next line for whatever method you're using to authenticate your users using firebase
Auth.auth().signInAndRetrieveData(with: credential) { (result, error) in
if error == nil {
self.userDefault.set(true, forKey: "usersignedin")
self.userDefault.synchronize()
print(result?.user.email)
Если при входе в систему нет ошибок, установите для 'usersignedin' bool значение true.
В вашем логине View Controller добавьте это к viewDidAppear:
if userDefault.bool(forKey: "usersignedin") {
performSegue(withIdentifier: "Verified", sender: self)
}
Если пользователь вошел в приложение, перейдите на защищенную страницу.