2016-03-31 32 views
2

Firebase'i arka uç olarak kullanıyorum ve oturum açma kısmını kodladım. Bir test hesabıyla oturum açtığımda hata ayıklayıcı "Logged In:" yazıyor. Ancak, ana görünüm denetleyicisine gitmeye çalıştığımda "hata önemli hatayı alıyorum: bir Opsiyonel değeri paketini açarken beklenmedik bir şekilde bulunamadı." hat self.presentviewcontroller üzerinde. burada yanlış ne yapıyorum? Eğer ViewController için tanımlayıcı ViewController set, Ana Film Şeridi 'üzerineBaşarılı bir giriş yaptıktan sonra farklı ViewController nasıl sunulur

if email != "" && password != "" 
    { 
     FIREBASE_REF.authUser(email, password: password, withCompletionBlock: {(error, FAuthData) -> Void in 

      if error == nil 
      { 
       NSUserDefaults.standardUserDefaults().setValue(FAuthData.uid, forKey: "uid") 

       print("logged in") 
       self.logoutButton.hidden = false 

       let storyboard = UIStoryboard(name: "Main", bundle: nil) 
       let secondViewController = storyboard.instantiateViewControllerWithIdentifier("ViewController") as! ViewController 
       self.presentViewController(secondViewController, animated: true, completion: nil) 

      } 
      else{ 
       print("The user was not logged in") 
      } 

     }) 
    } 
    else{ 
     let alert = UIAlertController(title: "ERROR", message: "Please Enter Email and Password", preferredStyle: .Alert) 
     let action = UIAlertAction(title: "OK", style: .Default, handler: nil) 
     alert.addAction(action) 
     self.presentViewController(alert, animated: true, completion: nil) 
    } 

cevap

0

kontrol.

0

sen dinler observeAuthEventWithBlock yöntemini kullanmak gerekir gerçek zamanlı olarak kimliği doğrulanmış durum için:

override func viewDidAppear() { 
    let ref = Firebase(url: "https://<YOUR-FIREBASE-APP>.firebaseio.com") 

    ref.observeAuthEventWithBlock({ authData in 
    if authData != nil { 
     // user authenticated 
     print(authData) 
     self.performSegueWithIdentifier("LoginToOtherView", sender: nil) 
    } else { 
     // No user is signed in 
    } 
    }) 
} 

Dinle, viewDidAppear dinler, bu nedenle gezinme yığınına inerseniz bile ateşlemeye devam eder.

İlgili konular