2016-06-10 2 views
5

Ich möchte überprüfen, ob der Benutzer noch eine gültige Sitzung hat, bevor ich den Home View-Controller meiner App vorstelle. Ich verwende die neueste Firebase-API. Ich denke, wenn ich das Vermächtnis verwende, kann ich das wissen.Wie überprüft man, ob der Benutzer eine gültige Auth Session Firebase iOS hat?

Hier ist, was ich bisher tat:

Ich habe versucht, die Eingabe in Xcode wie folgt:

FIRApp().currentUser() 
FIRUser().getCurrentUser() 

Aber ich kann nicht scheinen, dass getCurrentUser Funktion zu finden.

+3

Siehe https://firebase.google.com/docs/auth/ios/manage-users –

+0

Wartezeit, was? Es gibt einen Führer? Ich habe den Tab "Guide" nicht bemerkt, nur den Tab "Reference". Ich danke dir sehr! Aber gilt dies, wenn die App nur 1 Account akzeptiert und viele Nutzer sich in der gleichen App einloggen müssen? –

+1

FIRUser * Benutzer = [FIRAuth auth] .currentUser; –

Antwort

11
if FIRAuth.auth().currentUser != nil { 
    presentHome() 
} else { 
    //User Not logged in 
} 
5

Lösung in Swift 3

override func viewDidLoad() { 
    super.viewDidLoad() 

    FIRAuth.auth()!.addStateDidChangeListener() { auth, user in 
     if user != nil { 
      self.switchStoryboard() 
     } 
    } 
} 

Wo switchStoryboard() ist

func switchStoryboard() { 
    let storyboard = UIStoryboard(name: "NameOfStoryboard", bundle: nil) 
    let controller = storyboard.instantiateViewController(withIdentifier: "ViewControllerName") as UIViewController 

    self.present(controller, animated: true, completion: nil) 
} 

Source

2

Lösung in Swift 4

override func viewDidLoad() { 
    super.viewDidLoad() 
    setupLoadingControllerUI() 
    checkIfUserIsSignedIn() 
} 

private func checkIfUserIsSignedIn() { 

    Auth.auth().addStateDidChangeListener { (auth, user) in 
     if user != nil { 
      // user is signed in 
      // go to feature controller 
     } else { 
      // user is not signed in 
      // go to login controller 
     } 
    } 
} 
3
if Auth.auth().currentUser?.uid != nil { 

    //user is logged in 

    }else{ 
    //user is not logged in 
    } 
Verwandte Themen