什么是提供的存储桶?

时间:2019-04-26 23:20:02

标签: swift firebase firebase-storage

我正在观看教程,我想使用编写的现有代码并将其添加到我的Firebase中。我已经成功创建了一个帐户,并导入了已下载的GoogleService-Info。在那里没有其他修改

现在,我想创建一个用户,但是它不起作用。

我收到此错误:

  

“ NSInvalidArgumentException”,原因:“提供的存储区:random.appspot.com与当前实例的存储存储区不匹配:random2.appspot.com”

Firebase内部存储:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}

在Swift内部:

 static func signUp(username: String, email: String, password: String, imageData: Data, onSuccess: @escaping () -> Void, onError:  @escaping (_ errorMessage: String?) -> Void) {
        Auth.auth().createUser(withEmail: email, password: password) { (authData: AuthDataResult?, error: Error?) in
            if error != nil {
                onError(error!.localizedDescription)
                return
            }
            let uid = authData!.user.uid
            let storageRef = Storage.storage().reference(forURL: Config.STORAGE_ROOF_REF).child("profile_image").child(uid)
            storageRef.putData(imageData, metadata: nil, completion: { (_, error: Error?) in
                if error != nil {
                    return
                }
                storageRef.downloadURL(completion: { (url: URL?, error: Error?) in
                    if let profileImageUrl = url?.absoluteString {
                        self.setUserInfomation(profileImageUrl: profileImageUrl, username: username, email: email, uid: uid, onSuccess: onSuccess)
                    }
                })
            })
        }
    }

我可以在Firebase中看到正在创建的用户,仅此而已。另一方面,个人资料图片无效。即使已激活存储。 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

由于错误说这里STORAGE_ROOF_REF

let storageRef = Storage.storage().reference(forURL: Config.STORAGE_ROOF_REF)

应为random2.appspot.com而不是random.appspot.com,最好也可以使用

let storageRef = Storage.storage().reference()
storageRef.putData//////

要将铲斗头添加到firebase控制台>“存储”选项卡,然后单击右键菜单(其中包含帐单)

enter image description here