线程1:EXC_BAD_ACCESS试图将图像上载到Firebase
我正在尝试将图像上传到Firebase,如下所示:线程1:EXC_BAD_ACCESS试图将图像上载到Firebase,firebase,exc-bad-access,Firebase,Exc Bad Access,我正在尝试将图像上传到Firebase,如下所示: let storageRef = Storage().reference() if let uploadData = self.profileImageView.image!.pngData() { storageRef.putData(uploadData, metadata: nil, completion: { (metadata, error) in if erro
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())
我不知道为什么。它不会在控制台中给我任何额外的错误消息。我只是遇到了类似的问题,我通过压缩图像解决了这个问题
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)
})
}
这就为我解决了问题。金的回答对我不起作用。这个问题与这一行有关
Storage().reference()
如中所述,您应该使用
Storage.storage().reference()
这很不直观 非常讨厌!我花了至少一个小时来识别并找到错误。谢谢