Firebase电子邮件已在使用中

时间:2017-10-25 14:34:35

标签: ios swift firebase firebase-authentication

我尝试在更新firebase后登录我的用户,在跟踪错误后,我收到以下错误:

  

错误域= FIRAuthErrorDomain代码= 17007“电子邮件地址是   已被其他帐户使用。“   UserInfo = {NSLocalizedDescription =电子邮件地址已被使用   另一个帐户。,error_name = ERROR_EMAIL_ALREADY_IN_USE}

看起来似乎是因为firebase用户已经在使用,我不知道如何解决这个问题。我相信这是因为我在关闭应用之前从未注销过用户,但我无法以任何用户身份登录。

以下是我的代码:

@IBAction func Login(sender: AnyObject) {
        let email = self._Email.text!
        let password = self._Password.text!

        Auth.auth().createUser(withEmail: email, password: password) { (user, error) in
            if error == nil {
                //successfull login
                print("Successful login****************************************")

                //performs a segue to the next view controller
                if user!.isEmailVerified{
                    //if the email is verified
                    let vc = self.storyboard!.instantiateViewController(withIdentifier: "ProfileView") as! ProfileView
                    self.present(vc, animated: true, completion: nil)
                }
                else {
                    print("email is not verified")
                }
            } else {
                print("Some login error")
            }
       }
}

1 个答案:

答案 0 :(得分:1)

正如ZassX指出的那样,您确实使用了Firebase iOS SDK的signUp方法,即createUserWithEmail。使用此方法代替使用电子邮件和密码登录:

Auth.auth().signIn(withEmail: email, password: password) { (user, error) in
  // ...
}

更多信息:https://firebase.google.com/docs/auth/ios/password-auth

您可以在Firebase身份验证信息中心(https://console.firebase.google.com)中查看已注册用户的列表

此外,如果您有错误对象,最好打印出错误描述。像这样:

print(error.localizedDescription)