Сбой приложения SwiftUI, когда пользователь уже зарегистрирован в firebase - PullRequest
0 голосов
/ 18 октября 2019

У меня есть функция, которая проверяет, есть ли у пользователя учетная запись в моем приложении:

func isuser(email: String) -> Bool{
        let databaseReff = Database.database().reference()
        var yesno: Bool = false
        databaseReff.child("email").queryEqual(toValue: email)
          .observe(.value, with: { snapshot in
            if (!snapshot.hasChildren()) {
                yesno = true
            }
        });
        return yesno
    }

, которая затем передается в функцию проверки моего поля:

func validateFields() -> String? {



         if firstname == "" || lastname == "" || email == "" || password == "" || passwordconfirm == "" {

            return "One or more fields are blank. Please fill in all fields"
        }

        if password != passwordconfirm {
            return "passwords do not match. please check the fields and try again."
        }

        if Utilities.isPasswordValid(password) == false {
            return "Password must contain a minimum of 8 characters, one uppercase and lowercase letters, and one number"
        }

        if Utilities.isEmailValid(email) == false {
            return "The email you entered is not valid. Please enter a new one."
        }

        if session.isuser(email: email)  {
            return "This email already has an account associated with it. Please sign in or choose a different email."
        }

        return nil
    }

, еслиУ пользователя уже есть учетная запись, функция должна возвращать true, и должно выдаваться сообщение об ошибке, но во время выполнения при переходе на страницу регистрации, и у пользователя уже есть учетная запись, я получаю сообщение об ошибке с сообщением об ошибке "[Firebase / Database] [I-RDB038012] Слушатель на / email не сработал: license_denied ", и приложение зависает, что не должно произойти, так как мои разрешения уже установлены в true. Что я делаю не так?

...