Firestore - собственное приложение iOS React работает в автономном режиме

Приложение, которое я создал, выполняет некоторые запросы и обновления Firestore в автономном режиме, даже если соединение доступно. Я бегал firebase.firestore().settings({persistence: false})

При сбросе симулятора к заводским настройкам при первом запуске он выполняет запросы в онлайн-режиме, но затем быстро возвращается в автономный режим.

Есть ли вероятность, что из-за некоторых неудачных записей он автоматически перейдет в автономный режим без возможности восстановления? Есть ли способ проверить, находится ли Firestore в настоящее время в сети или в автономном режиме? Есть ли способ заставить запросы синхронизироваться с серверами?

Использование RNfirebase 4.0.6, Xcode 9.3, iOS 11.3, react-native 0.54. Также происходит на iOS 10.3


person Ohad    schedule 29.04.2018    source источник


Ответы (1)


Примерно через 20 часов попыток исправить это я нашел причину.

При вызове firebase.firestore().collection('someCollection').doc('docId').set(...), когда docId указывает на несуществующий DocumentReference, внутренние компоненты RNfirebase закрывают исходящую очередь записи. Чтение возможно, но не запись.

Чтобы решить эту проблему, все, что мне нужно было сделать, это изменить:

firebase.firestore().collection('someCollection').doc('docId').set(someObject)

to

firebase.firestore().collection('someCollection').doc('docId').update(someObject, { merge: true })

person Ohad    schedule 30.04.2018