gpt4 book ai didi

ios - 在用户注销之前,Firebase 不会更新整个应用程序中的值

转载 作者:行者123 更新时间:2023-11-30 12:30:53 25 4
gpt4 key购买 nike

因此,我遇到了一个问题:当用户进行更新时,我的 Firebase 应用不会更新用户值。更清楚地说:假设用户 1 有一张狗的照片,然后将其更改为猫。

一旦他们将其更改为猫,我在 Firebase 中的节点值就会成功更新,但用户自己将无法看到应用中其他先前加载的区域(带有狗图片的其他位置)的更改,直到他们注销然后重新登录。

出于这个原因,我想知道是否有任何方法可以进行后台应用程序刷新,这样应用程序中所有以前的狗值都会更改为猫值,而无需用户注销然后重新登录。请注意,同样的问题不仅出现在我的用户的个人资料图片中,而且还出现在我设置的任何其他用户字段中。

以下是我在 Firebase 中更新用户节点值的方法:

        let storageRef = FIRStorage.storage().reference()
_ = FIRStorageMetadata()
let filePath = "\(FIRAuth.auth()?.currentUser?.uid)/\("userPhoto")"
let profileImageData = UIImageJPEGRepresentation(self.profilePicture.image!, 1.0)

if let data = profileImageData {
storageRef.child(filePath).put(data, metadata: nil){(metaData,error) in
if let error = error {
print(error.localizedDescription)
return
} else {

let downloadURL = metaData!.downloadURL()!.absoluteString

let userPhotoUpdateRef = FIRDatabase.database().reference().child("users").child(self.currentUser).child("userPhoto")
userPhotoUpdateRef.setValue(downloadURL)
}
}
}

如有疑问请追问!任何帮助将不胜感激!

最佳答案

适用于云存储的 Firebase SDK 提供了一种从云存储读取文件和向云存储写入文件的简单方法。它不提供监视这些文件的方法。

提供监控方法的最简单方法是将文件的元数据写入 Firebase 实时数据库。请参阅存储文档中的这个简短部分以简要提及:https://firebase.google.com/docs/storage/ios/file-metadata#custom_metadata

当您将数据写入 Firebase 数据库中的某个位置时,所有 actively monitoring that location 的应用将立即更新。当他们获得更新后,您可以从 Cloud Storage for Firebase 重新加载镜像。

关于ios - 在用户注销之前,Firebase 不会更新整个应用程序中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43572978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com