Ошибка Ios Firebase при аутентификации - PullRequest
0 голосов
/ 04 июня 2018

У меня проблема, когда я пытаюсь проверить свою аутентификацию на базе firebase!Я хочу проверить соединение с моей базой данных, но я попытался войти в систему, не зарегистрировав пользователя, но моя функция обрабатывает ошибки, это всегда дает мне ошибку по умолчанию

Мой класс аутентификации:

    import Foundation
import FirebaseAuth

typealias LoginHandler = (_ msg: String?) -> Void;

struct LoginErrorCode {
    static let INVALID_EMAIL = "Invalid Email";
    static let WRONG_PASSWORD = "Wrong Password";
    static let PROBLEM_CONNECTING = "Problem Connecting";
    static let USER_NOT_FOUND = "User not found"
    static let EMAIL_ALREADY_IN_USE = "Email Already in Use";
    static let WEAK_PASSWORD = "Weak Password";

}

class AuthProvider {
    private static let _instance = AuthProvider();

    static var Instance: AuthProvider {
        return _instance;
    }
    func login(withEmail: String, password: String, loginHandler: LoginHandler?){

        Auth.auth().signIn(withEmail: withEmail, password: password, completion:  {(user, error) in

            if error != nil {
                self.handleErrors(err: error as! NSError, loginHandler: loginHandler)
            } else {
                loginHandler?(nil);
            }
        });
    }

    func signUp(withEmail: String, password: String, loginHandler: LoginHandler?){

        Auth.auth().createUser(withEmail: withEmail, password: password) { (user, error) in

            if error != nil {
                self.handleErrors(err: error as! NSError, loginHandler: loginHandler);

            } else {
                if user?.user.uid != nil {

                    self.login(withEmail: withEmail, password: password, loginHandler: loginHandler);


                }
            }
        };
    }







private func handleErrors(err: NSError, loginHandler: LoginHandler?){

    if let errCode = AuthErrorCode(rawValue: err.code){

        switch  errCode {

        case .wrongPassword:
            loginHandler?(LoginErrorCode.WRONG_PASSWORD);
            break;
        case .invalidEmail:
            loginHandler?(LoginErrorCode.INVALID_EMAIL);
            break;
        case .userNotFound:
            loginHandler?(LoginErrorCode.USER_NOT_FOUND);
            break;
        case .emailAlreadyInUse:
            loginHandler?(LoginErrorCode.EMAIL_ALREADY_IN_USE);
            break;
        case .weakPassword:
            loginHandler?(LoginErrorCode.WEAK_PASSWORD);
            break;
        default:
            loginHandler?(LoginErrorCode.PROBLEM_CONNECTING);
                          break;
        }
    }


}

} // class

Я изменил методы входа в консоль на Email / Password на yes, и в настоящее время у меня есть ключ API.

Есть идеи о том, в чем проблема?

1 Ответ

0 голосов
/ 04 июня 2018

Чтобы лучше диагностировать проблему, если вы еще этого не сделали, вы можете включить ведение журнала отладки с помощью

-FIRAnalyticsDebugEnabled

, чтобы получить лучшее сообщение об ошибке.В редакторе схем Xcode:

Xcode Project Scheme Editor

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...