【问题标题】:Creating new user with firebase in Swift在 Swift 中使用 firebase 创建新用户
【发布时间】:2016-08-03 09:53:32
【问题描述】:

我是 Firebase 的新手,一直在尝试为我的应用实现“注册”页面。目前,我只使用电子邮件功能,只是为了测试一下。我能够创建新用户并将其存储在仪表板的“登录和身份验证”选项卡中,但由于某种原因,我无法检索 UID。唯一的方法是如果我关闭我的应用程序并重新加载它,那么它就可以访问 UID。关于为什么会这样的任何建议?

【问题讨论】:

  • 欢迎来到 Stackoverflow。请发布代码 sn-p 和您当前拥有的任何 Firebase 数据结构。请只写文字,不要图片。然后细化您的问题,以便我们知道您在问什么;你在代码中遇到错误吗?结果是什么?此外,您可能需要查看 Firebase 网站上的用户身份验证页面,因为它会引导您完成身份验证User Authentication
  • 好吧,我想出了一个解决方案。无论出于何种原因,我都无法从我的注册页面中获取用户 UID。我刚刚进入另一个视图控制器,现在我可以获取 UID。

标签: ios swift firebase


【解决方案1】:

Swift 4.1 FireBase 用户创建/登录步骤:-

第 1 步:- 将新的 firebase 身份验证 Pod 注册到您的 Podfile 中:

pod 'Firebase/Auth'

第 2 步:- 打开终端并使用您的相关项目目录路径安装 pod:

pod install

第 3 步:- 在 UIViewController 中任意位置导入 firebase 身份验证库:

import FirebaseAuth

第 4 步:- 在您的注册 UIButton 操作上写下这个 sn-p:

 Auth.auth().createUser(withEmail: (txtEmail.text ?? ""), password: (txtPass.text ?? "")) { (result, error) in
            if let _eror = error {
                //something bad happning
                print(_eror.localizedDescription )
            }else{
                //user registered successfully
                print(result)
            }
         }

第 5 步:- 如果您想在注册后登录,请在登录 UIButton 上使用此 sn-p:

  Auth.auth().signIn(withEmail: (txtEmail.text ?? ""), password: (txtPass.text ?? "")) { (result, error) in
            if let _eror = error{
                print(_eror.localizedDescription)
            }else{
                if let _res = result{
                    print(_res)
                }
            }
        }

编码愉快 ;)!!!!

【讨论】:

    【解决方案2】:

    如何创建用户示例:

        Auth.auth().createUser(withEmail: email, password: password, completion: { (result, error) -> Void in
            if (error == nil) {
                    UserDefaults.standardUserDefaults().setValue(result.uid, forKey: "uid")
    
                    print("Account created :)")
    
                    let userDict = ["Name": name!, "Major": major!, "Email": email!]
    
                    let uid = result!.uid
    
                    self.dismissViewControllerAnimated(true, completion: nil)
            }
    
            else{
                    print(error)
            }
        })
    

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      在 Firebase 中创建用户非常简单,只需使用可可豆荚将 firebase 添加到您的项目中,然后创建一个注册屏幕。您需要电子邮件和密码。现在首先导入 Firebase

      import Firebase
      

      然后在viewDidLoad()方法里面配置firebase

      FIRApp.configure()
      

      现在从文本字段中获取电子邮件和密码,并使用以下代码进行注册。

      FIRAuth.auth()?.createUserWithEmail(email!, password: password!, completion: { (user: FIRUser?, error) in
         if error == nil {
             //registration successful
         }else{
             //registration failure
         }
      })
      

      就是这样。

      来源:Firebase Swift Tutorial

      【讨论】:

        【解决方案4】:

        在尝试任何代码之前,请确保您的密码长度至少为 6 个字符。如果可能,打印错误,我会在每个函数上打印错误。注册并登录只是为了跟踪您在做什么。

        @IBAction func signUp(_ sender: Any) {
        
        Auth.auth().createUser(withEmail: self.usernameTextField.text!, password: self.passwordTextField.text!) {(user, error) in
            if user != nil {
                print("User Has SignUp")
            }
            if error != nil {
                print(":(",error)
            }
        }
           Auth.auth().signIn(withEmail: self.usernameTextField.text!, password: self.passwordTextField.text!) {(user, error) in
                if user != nil {
                    print("User Has Sign In")
                }
                if error != nil {
                    print(":(",error)
                }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-08-26
          • 2018-02-06
          • 2016-09-27
          • 2018-08-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-28
          相关资源
          最近更新 更多