Swift Firebase登录注册auth

时间:2017-12-24 01:19:50

标签: swift firebase firebase-authentication

因此,当我第一次向上翻页时,我保持简单的2个文本字段(电子邮件和密码)1 lbl 2按钮(登录注册)。最初,当我开始测试时,一切都有效,当出现问题时会弹出一个警告并告诉你问题,或者你会根据按钮按下并验证身份完成下一页。

但是现在每当我打开应用程序以更深入地运行代码时,无论我键入什么,我都可以使用错误的密码登录,或者使用之前的电子邮件地址登录,即使之前这些都会出现错误。我在一周内多次重建此页面,并决定还从用户个人资料页面添加获取照片功能。

每当我运行应用程序并按下按钮时,我都会在控制台中看到它:

  

警告:尝试显示其视图不在窗口层次结构中!

我认为这是问题所在,因为注册时出错,但无论用户是否允许继续。我查了一下谷歌搜索了我能找到的所有文档,甚至搞砸了尝试和未能放入任务结构。

PS我从错误标签转移到使用警告,希望他们会强制停止代码

   @IBAction func registerBtn(_ sender: Any) {
    if emailTextField.text! == "" || passwordTextField.text == "" {
        displayAlert(title: "Error", message: "Please Enter Your EMail Address & Choose A Password")
    } else {
        if let email = emailTextField.text {
            if let password = passwordTextField.text {
        //Create User
        Auth.auth().createUser(withEmail: email, password: password, completion: { (user, error) in

     //   Auth.auth().createUserAndRetrieveData(withEmail: email, password: password, completion: { (user, error) in
                if error != nil {
                    self.displayAlert(title: "Error", message: error!.localizedDescription)
                    } else {
                        print("Registration Successful")
                        self.performSegue(withIdentifier: "registrationSegue", sender: nil)
                    }
            self.login()
            })
            }
        }
    }
}

3 个答案:

答案 0 :(得分:0)

if error != nil {
   // show your alert 
} 

您无需在验证用户身上使用else语句。所以删除该行

此外,如果您要呈现一个应该由经过身份验证的用户可访问的视图控制器。

请尝试:

let HomePage = HomePageController() // Change this to your viewcontroller name
self.present(HomePage, animated: true,     completion: nil)

答案 1 :(得分:0)

swift 4 - Xcode 9.1

$('[id$="btnSave"], [id$="btnCancel"]').click(function () {
    sessionStorage.clear();
});

答案 2 :(得分:0)

Swift 4.2

//creating user with email password authentication

    Auth.auth().createUser(withEmail: emailTextfield.text!, password: passwordTextfield.text!) { (user, error) in
        // completion handler
        if error != nil {
            print(error!)
        } else {
            //success
            print("Registration Sucessful")

            self.performSegue(withIdentifier: "goToChat", sender: self)
        }
    }