【问题标题】:Thread 1: EXC_BAD_ACCESS Trying to upload images to Firebase线程 1:EXC_BAD_ACCESS 尝试将图像上传到 Firebase
【发布时间】:2019-06-29 05:04:31
【问题描述】:

我正在尝试像这样将图像上传到 Firebase:

let storageRef = Storage().reference()
if let uploadData = self.profileImageView.image!.pngData() {
                storageRef.putData(uploadData, metadata: nil, completion: { (metadata, error) in
                    if error != nil {
                        print(error as Any)
                        return
                    }
                    print(metadata as Any)
                })
            }

它把我重定向到这里的代码:

 - (void)dispatchAsync:(void (^)(void))block {
  dispatch_async(self.dispatchQueue, block);
}

它没有通过 if let 语句。 (如果让 uploadData = self.profileImageView.image!.pngData())

我不知道为什么。它不会在控制台中给我任何额外的错误消息。

【问题讨论】:

    标签: firebase exc-bad-access


    【解决方案1】:

    king_T 的回答对我不起作用。问题与这一行有关

    Storage().reference()
    

    this post 中所述,您应该使用

    Storage.storage().reference()
    

    这很不直观。

    【讨论】:

    • 很烦人!我花了至少一个小时来识别并找到错误。谢谢!
    【解决方案2】:

    我刚遇到类似的问题,我通过压缩图像解决了它。

    let scaledimage = self.profileImageView.image!.jpegData(compressionQuality: 0.5)
    let storageRef = Storage().reference()
    if let uploadData = scaledimage {
                storageRef.putData(uploadData, metadata: nil, completion: { (metadata, error) in
                    if error != nil {
                        print(error as Any)
                        return
                    }
                    print(metadata as Any)
                })
    }
    

    这为我解决了。

    【讨论】:

      猜你喜欢
      • 2019-12-18
      • 2021-07-21
      • 2021-03-18
      • 2022-01-08
      • 2023-02-24
      • 2018-03-04
      • 1970-01-01
      相关资源
      最近更新 更多