2016-06-10 9 views
5

Voglio verificare se l'utente ha ancora una sessione valida, prima di presentare il controller Home View della mia app. Io uso l'ultima API Firebase. Penso che se userò l'eredità, potrò saperlo.Come verificare se l'utente ha un'autent Session Firebase iOS?

Ecco che cosa ho fatto finora:

ho provato a digitare in Xcode In questo modo:

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

Ma non riesco a trovare quella funzione getCurrentUser.

+3

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

+0

attesa, che cosa? c'è una guida? Non ho notato la scheda "guida", solo la scheda "riferimento". Grazie mille! Ma è applicabile se l'app accetta solo 1 account e molti utenti dovranno accedere allo stesso account sulla stessa app? –

+1

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

risposta

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

Soluzione in Swift 3

override func viewDidLoad() { 
    super.viewDidLoad() 

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

Dove switchStoryboard() è

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

Soluzione 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 
    } 
Problemi correlati