Я пытаюсь просто загрузить картинку из хранилища Firebase в мое приложение IOS, но мой блок завершения не вызывается.
Сначала я использую TableViewController, который прекрасно загружает множество картинок.Когда я нажимаю на элемент в табличном представлении, он представляет простой контроллер представления модально.Я использую тот же код, который успешно загружает картинки в TableViewController. В этом модально представленном контроллере представления мои блоки завершения FirebaseStorage не выполняются. Когда я выхожу из этого контроллера представления, TableViewController по-прежнему может загружать изображения по мере необходимости по запросу.
Я включилрегистрируясь с -FIRAnalyticsDebugEnabled
и до сих пор не получаю никаких ошибок в моем журнале.
Я разрешил все чтения и записи временно в моих правилах для FirebaseStorage.
Я видел этот вопрос iOS setValue withCompletionBlock не называется , который в комментариях гласит, что у определенной версии firebase была некоторая проблема с FirebaseDatabase, блокирующая некоторые другие блоки завершения.
В документации сказано «Исправлено условие гонки, при котором выполнялась транзакция или добавлениенаблюдатель событий сразу после подключения к службе базы данных Firebase Realtime может привести к тому, что блоки завершения для других операций не будут выполнены ».от https://firebase.google.com/support/release-notes/ios#3.6.0
В приведенном выше вопросе asker исправил проблему, обновив до Firebase 3.7.1, я использую 5.0.1
Вот версии, которые я использую
Using Firebase (5.0.1)
Using FirebaseAnalytics (5.0.0)
Using FirebaseAuth (5.0.0)
Using FirebaseCore (5.0.1)
Using FirebaseDatabase (5.0.0)
Using FirebaseInstanceID (3.0.0)
Using FirebaseStorage (3.0.0)
Using GTMSessionFetcher (1.1.15)
Using GoogleToolboxForMac (2.1.4)
Using leveldb-library (1.20)
Using nanopb (0.3.8)
Generating Pods project
Я вошел в мой код и обнаружил, что мой код вызывается, но блок завершения никогда не выполняется.Я использую правильные дочерние идентификаторы, поэтому я знаю, что ссылка на хранилище существует.Я также знаю, что это не проблема с подключением, потому что другие картинки загружаются нормально всего за несколько секунд до этого.
- (void)loadPicture {
NSLog(@"Attempting to load picture");
FIRStorageReference *ref = [[self.storageRef child:self.detailItem.faction] child:[self.detailItem firebaseEntry]];
[ref dataWithMaxSize:1024*1024 completion:^(NSData * _Nullable data, NSError * _Nullable error) {
NSLog(@"Got a result!");
}];
Я полностью растерялся, что делать дальше.Кто-нибудь испытывал что-то подобное или у вас есть какие-либо советы?
Я ценю любые отзывы, которые могут помочь!Спасибо!