2016-12-11 13 views
1

Я пробовал запустить следующее, и он не работает. Что я делаю неправильно, чтобы проверить сервер Firebase, если пользователь уже использовал это письмо?Firebase Проверить, существует ли пользователь

  FIRAuth.auth()!.createUser(withEmail: self.userEmailTextField.text!, password: self.userPasswordTextField.text!) {(createUser, error) in 
     if error != nil { 
      FIRAuth.auth()!.signIn(withEmail: self.userEmailTextField.text!, password: self.userPasswordTextField.text!) 

      //Display logged in 

      let viewController = self.storyboard!.instantiateViewController(withIdentifier: "TabBarController") as UIViewController 
      self.present(viewController, animated: true, completion: nil) 

     }else { 
      //Display an alert message 
      self.displayMyAlertMessage(userMessage: "Email already in use. Please see the login page.") 
      return 
     } 
    } 

ответ

3

Пожалуйста, сделайте следующее, это определенно сработает для вас.

FIRAuth.auth() ? .createUser(withEmail: email, password: password) { 
 
    (user, error) in 
 
    if (error) { 
 
    // If error type is `FIRAuthErrorCodeEmailAlreadyInUse` 
 
    // Email is already in use. 
 
    } else { 
 
    // Create new user successfully 
 
    } 
 
}

Вы можете найти более описание ошибки от Here

+0

Есть ли конкретная причина, по которой у вас есть пробелы до и после '?' –

1

Firebase уже делает это за вас. Удалите метод входа в систему и просто запустите метод создания пользователя, используя уже существующее письмо, и будет возвращено FIRAuthErrorCodeEmailAlreadyInUse. За дополнительной информацией обращайтесь: this

+0

Спасибо сделал трюк. – AlexGarlock

+0

@ alienware00 Добро пожаловать. Не забудьте проголосовать и пометить как ответ, если это поможет решить вашу проблему .. Счастливое кодирование :) – eshirima

+0

Но что, если я просто хочу проверить, существует ли пользователь, или нет, потому что если он не существует, возможно, я не хочу создавать новую запись auth, но слияние с существующим auth (если я нахожу, что у этого нового зарегистрированного пользователя уже есть учетная запись с тем же адресом электронной почты, я объединился бы с этим, а не с созданием другого Счет). –

 Смежные вопросы

  • Нет связанных вопросов^_^