Тема 1: EXC_BAD_ACCESS Попытка загрузить изображения в Firebase - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь загрузить изображения в 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 ())

Понятия не имею почему.Это не дает мне никаких дополнительных сообщений об ошибках в консоли.

Ответы [ 2 ]

0 голосов
/ 29 июня 2019

Ответ от king_T у меня не сработал. Проблема связана с этой строкой

Storage().reference()

Как отмечено в этом посте , вы должны использовать

Storage.storage().reference()

Это очень не интуитивно понятно.

0 голосов
/ 07 декабря 2018

У меня просто были похожие проблемы, и я решил их, сжав свое изображение.

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)
            })
}

, который решил это для меня.

...