当我尝试测试我的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密钥。
你知道问题应该是什么吗?
发布于 2018-06-05 02:59:39
为了更好地诊断问题,如果您还没有,可以使用以下命令启用调试日志
-FIRAnalyticsDebugEnabled
以获得更好的错误信息。在Xcode方案编辑器中:
https://stackoverflow.com/questions/50686328
复制相似问题