2016-10-12 78 views
0

由於即使使用正確的密碼更新到Swift 3.0,我也會收到不正確的消息。有沒有人在Fi​​rebase授權用戶時遇到過這個問題?使用Swift 3.0的Firebase授權不起作用

@IBAction func LoginToAccount(_ sender: AnyObject) { 

    if let email = emailLogin.text, let password = passwordLogin.text { 

    FIRAuth.auth()?.signIn(withEmail: email, password: password, completion: { 
     (user, error) in 


     if error != nil{ 
      print("Incorrect") 
      let alert = UIAlertController(title: "Error", message: "Incorrect Email or Password.", preferredStyle: UIAlertControllerStyle.alert) 
      let action = UIAlertAction(title: "Ok", style: .default, handler: nil) 
      alert.addAction(action) 
      self.present(alert, animated: true, completion: nil) 
     }else{ 
      if error == nil { 
      self.performSegue(withIdentifier: "AdminSegue", sender: self) 

       } 
      } 
     }) 
    } 
    } 
} 
+0

你是什麼意思*不工作*? – Dravidian

+0

如果你告訴我們錯誤信息是什麼,它會很有用。 – Wilson

+0

我的意思是即使使用正確的密碼,我只是收到消息字符串「不正確的電子郵件或密碼」。在更新到Swift 3.0之前工作正常 –

回答

1

如果你可以創建一個電子郵件,並有登錄問題,那麼它會像我的情況。只需檢查您的項目xcode項目中的鑰匙串可訪問性 - >功能 - >鑰匙串共享 - >開啓,如果它關閉。

0

你必須確保用戶已最初創建的,因爲你必須首先創建一個用戶,然後使用創建的用戶登錄。

@IBAction func LoginToAccount(_ sender: AnyObject) { 

    if let email = emailLogin.text, let password = passwordLogin.text { 

     FIRAuth.auth()!.createUser(withEmail: email, password: password) { user, error in 
     if error == nil { 
     FIRAuth.auth()!.signIn(withEmail: email, password: password, , completion: { (user, error) in 


      if error != nil{ 
      print("Incorrect") 
      let alert = UIAlertController(title: "Error", message: "Incorrect Email or Password.", preferredStyle: UIAlertControllerStyle.alert) 
      let action = UIAlertAction(title: "Ok", style: .default, handler: nil) 
      alert.addAction(action) 
      self.present(alert, animated: true, completion: nil) 
      } else { 
      if error == nil { 
      self.performSegue(withIdentifier: "AdminSegue", sender: self) 
      } 
     } 
     }) 
     } 
    }  
} 
1

經過一番研究,這顯然是Simulator 10.0不允許Firebase向鑰匙串寫入值的問題。顯然他們正在處理的東西,但它不會影響實際設備上的應用程序。