Я пытаюсь создать метод аутентификации Firebase, чтобы пользователи могли создать учетную запись. Однако у меня есть несколько контроллеров представления, которые требовали от меня сохранения информации о пользователях, прежде чем я смог обработать функцию 'CreateUser' Firebase Auth. Поэтому я создал словарь для этого. Я также использую Swift.
Это то, что я имел в виду, когда сказал, что у меня есть несколько контроллеров представления учетной записи.
Затем я добавил созданный словарь в App Delegate, чтобы сохранить информацию о пользователях до того, как в Firebase будет активирован метод createUser.
// Instance of AppDelegate
static let shared: AppDelegate = UIApplication.shared.delegate as! AppDelegate
// Dictionary for user information
var userInformation: Dictionary<String, Any> = [:]
Вот код для контроллера представления «введите свой адрес электронной почты».
// After Email is entered, next button is tapped to take user to second step of sign up process
@IBAction func nextButtonTapped(_ sender: UIButton) {
AppDelegate.shared.userInformation ["createEmail"] = emailTextField.text
И последнее для контроллера «Имя и пароль». Здесь я хотел бы, чтобы электронное письмо, которое было сохранено с последнего контроллера представления, появилось на месте. Я попытался вызвать всю сохраненную информацию, хранящуюся в словаре, чтобы я мог улучшить метод Firebase Auth.auth (). CreateUser.
IBAction func nextButtonTapped(_ sender: UIButton) {
AppDelegate.shared.userInformation["name"] = nameTextField.text
AppDelegate.shared.userInformation["password"] = createPassWordTextField.text
let createEmail = AppDelegate.shared.userInformation["createEmail."]
let name = AppDelegate.shared.userInformation["name"]
let password = AppDelegate.shared.userInformation["password"]
Auth.auth().createUser(withEmail: createEmail, password: password ) { (user, error) in
if error == nil && user != nil {
print("User Created!")
// If user is created go to Welcome Page
self.performSegue(withIdentifier: "goToWelcomeVC", sender: self)
} else {
print("error creating User")
После того, как я хотел бы создать учетную запись пользователя. Затем они будут перенаправлены на страницу приветствия, а затем на главную страницу. Однако я, кажется, получаю эту ошибку. Я случайно не правильно сделал словарь? Для моего контроллера просмотра логина это было очень просто. как вы можете видеть ниже.
//Login Button
@IBAction func loginButtonTapped(_ sender: UIButton) {
// Signing in User with Email and Password using Firebase
if let email = emailTextField.text, let password = passwordTextField.text {
Auth.auth().signIn(withEmail: email, password: password) { (user, error) in
// check if user isnt nil
if user != nil {
print("Login Successful")
// user is found, go to home screen
self.performSegue(withIdentifier: "goToHomeVC", sender: self)
} else {
print("loginError")
Я попытался сделать то же самое с контроллерами представления регистрации, указав адрес электронной почты, пароль и имя = UITextField.text. Может кто-нибудь помочь мне в том, что я здесь сделал неправильно?
Редактировать * Вот ошибка, которую я получаю.
Спасибо.