Завершение хранения Firebase никогда не запускается / не перезванивается - PullRequest
0 голосов
/ 09 июня 2019

У меня странная проблема при попытке загрузить изображение в Firebase Storage.По сути, я могу загрузить файл в хранилище, но обратного вызова завершения не происходит.Мне нужен этот обратный вызов, чтобы получить URL хранилища загружаемого файла.

SETUP

let storage = Storage.storage()
let storageRef = storage.reference()
let data = curImg?.pngData()
let riversRef = storageRef.child("userUploads/Search/"+id+".png")

ФУНКЦИЯ ЗАГРУЗКИ

let uploadTask = riversRef.putData(data!, metadata: nil) { (metadata, error) in
    print("FIN") // NEVER PRINTS
    print("DONE",metadata,error) // NEVER PRINTS
}

Это ничего не печатает

ИСПОЛЬЗУЯ НАБЛЮДЕНИЕ

uploadTask.observe(.success) { snapshot in
    // Upload completed successfully
    print("SUCCESS") // NEVER PRINTS
    riversRef.downloadURL(completion: { (url, error) in
        print("A") // NEVER PRINTS
        print(url,error) // NEVER PRINTS
    })
}

Это никогда ничего не печатает

НЕМНОГО БОЛЬШЕ ХАКИ

uploadTask.observe(.progress) { snapshot in
    print(snapshot) // PRINTS!
    if (Double(snapshot.progress!.completedUnitCount) == Double(snapshot.progress!.totalUnitCount)) {
        print("HERE") // PRINTS!!
        riversRef.downloadURL(completion: { (url, error) in
            print("B") // NEVER PRINTS
            print(url,error) // NEVER PRINTS
        })
    }
}

В состоянии печатать прогресс, и я могу выяснить, когда он наконец завершится, но яникогда не удается завершить загрузку UUR: (

РЕДАКТИРОВАТЬ Я попытался обновить модули и установить все заново, но ничего не помогло.

1 Ответ

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

Если вы столкнулись с этой странной проблемой, в коде нет ничего плохого. Мне пришлось откатить все мои модули, удалив Podfile.lock, используя pod 'FirebaseInstanceID', '2.0.0'. Странная ошибка в последних версиях Firebase / Xcode ...?

...