【问题标题】:User management with Firebase in SwiftUI where to start?在 SwiftUI 中使用 Firebase 进行用户管理从哪里开始?
【发布时间】:2021-03-22 13:28:56
【问题描述】:

我试图了解在 SwiftUI 中使用 Firebase 进行后端开发,我开发了一个小型应用程序,我们可以在其中实际使用 Firebase Auth 登录。我想在用户第一次登录时显示一个弹出窗口,Firebase 还没有为此完成的功能,所以我想编写一个代码但是从哪里开始?

我想在用户登录时获取用户的 UID,并将其放入“user_data”数据库中(如果它不存在),否则忽略我的其余功能。如果不存在,则显示一个弹出窗口,他可以在其中选择将分配给他的标志(例如城市),然后显示他所在城市的餐馆。

这个问题可能看起来很傻,但我是这个领域的新手,我想改进,因为它让我很感兴趣,并试图在 swiftUI 的后端尽可能多地理解和记录我。

感谢您的宝贵帮助和建议。

【问题讨论】:

  • 这个问题很模糊,所以我们需要你澄清一下。 我想显示一个弹出窗口;你是程序员,所以你应该添加代码来显示你想要的任何弹出窗口。如果您想获取用户的 uid 并存储它,那么您需要编写该代码。 Firebase 指南中有很多关于如何写入数据的示例 - 但是,我们不知道您使用的是哪种 Firebase 产品,因此我无法链接特定文档。您可以包含您尝试过的代码吗?请花点时间查看How do I ask a good question?

标签: ios swift database firebase swiftui


【解决方案1】:
           Auth.auth().signIn(with: credential) { (result, error) in
                if error == nil{
                    if result?.additionalUserInfo!.isNewUser == true{
                       //is a new user
                    }
                }
            }

【讨论】:

  • @DanyT777 我不确定这是否能回答问题。 signIn 函数适用于已创建的现有用户。例如当用户第一次使用该应用程序时,会调用createUser 来创建帐户、生成一个 uid 并在第一时间对其进行签名 - 这就是您捕获他们新创建的 uid 并向他们显示一个弹出窗口的时候。如果您正在使用登录,则该过程已经发生。
  • 另外,isNewUser 将返回 false,因为 createUser 在创建用户时对用户进行了身份验证。 Firebase 指南中的更多信息create account
猜你喜欢
  • 2023-04-02
  • 2012-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多