在firebase,swift项目中编辑信息

Posted

技术标签:

【中文标题】在firebase,swift项目中编辑信息【英文标题】:Edit information in firebase, swift project 【发布时间】:2016-03-09 09:31:44 【问题描述】:

如何更新 firebase 中的用户信息! 比如他的邮箱、密码、姓名等。

我会使用什么 firebase 功能?

【问题讨论】:

【参考方案1】:

这是一个非常模糊的问题,有很多答案,但这里是基础知识。

假设您有这样的 Firebase 结构

users
  uid_0
    user_name: "Bill"
    email: "bill@yipee.com"

要将用户名从 Bill 更改为 Leeeeroy:

var userNameRef = ref.childByAppendingPath("users/uid_0/user_name")
userNameRef.setValue("Leeeeroy")

以上是一个小例子。您也应该使用 .updateChildValues 进行调查。

Firebase 网站上有一个非常好的数据写入指南,请查看!

Saving Data

如果您正在考虑修改实际的 Firebase 用户数据,而不是您创建的用户节点,请查看

(void)changeEmailForUser:(NSString *)email 密码:(NSString *)password toNewEmail:(NSString *)newEmail withCompletionBlock:(void (^)(NSError *error))block

这是更改用户 Firebase 电子邮件的简单快速代码

myRootRef.changeEmailForUser("bob@thing.com", password: "old_password", toNewEmail: "new_password")  (<#NSError!#>) -> Void in
    print("done!")

【讨论】:

我明白了!我的答案的第二部分 changeEmailForUser 解决了这个问题。 Firebase 仅存储 2 项:电子邮件和密码,并且两者都有 API 调用。还有一个要求发送密码重置电子邮件的电话。所有调用都列在 firebase 网站上的 API 参考中。尝试使用我上面提到的 changeEmailForUser 调用,如果您遇到困难,请打开另一个有关该问题的问题并发布您的代码和示例 Firebase 结构(请提供文本) 在编辑这个之前我好像不能提问! :(screenshot.net/w9lm2f8我该怎么做才能回来!我是***的新手。 这是您需要做的;根据您发布的代码,您正在尝试更改用户节点中电子邮件键的更改值。我的猜测是您想要更新该节点以及 Firebase 用户登录凭据。请更新您的问题以更具体,然后在您尝试过的问题中发布一些代码。发布您的代码(请简要 sn-p)和数据结构(再次,文本;Firebase 仪表板和导出)使其可搜索并复制/粘贴到答案中。请保持代码和结构简洁。然后我们可以查看并提供方向。 好的,更清楚的问题。但是,既然我们了解了问题的范围,那么您发布的代码就非常离谱了。 Firebase 存储用户名(电子邮件)和密码,Firebase 在内部使用这些用户名来验证用户身份。 /users 节点是 you 创建的,用于保存有关用户的额外信息;他们的姓名、年龄等。因此,要更新您创建的 /users 节点,请使用标准 setValue 调用。要更新内部 Firebase 参数,请使用问题中的调用。但是,只需发送电子邮件,他们的电子邮件和密码,他们的密码。 我确实使用了你所说的电话。但是,它没有用!仍然给我“处理请求时出错”

以上是关于在firebase,swift项目中编辑信息的主要内容,如果未能解决你的问题,请参考以下文章

无法构建模块 Firebase

iOS 中的 Firebase:CFNetwork SSLHandshake 失败,尽管配置似乎正确。

Swift方法中的Firebase“找不到成员:值”

突然 Firebase 事件未导出到 Bigquery

Firebase Crashlytics 仅在通过 USB 部署时有效

从 Firebase 中基本读取并使用结果加载 tableview (Swift)