Последние несколько дней я ломал голову над этой проблемой и, похоже, не могу найти работающего решения, кроме удаления приложения и переустановки. Который не будет работать для опубликованного приложения.
У меня по умолчанию автономный режим персистентности установлен на true, и когда я устанавливаю его в false, эта проблема исчезает, но затем у меня остаются другие проблемы, с которыми я не хочу иметь дело.
Короче говоря, у меня есть одна коллекция с почти 4000 документов (и я ссылаюсь на нее только потому, что это единственная коллекция, с которой я получаю эту «ошибку»), и каждый раз, когда я удаляю документ (я удаляю из Firebase Console), а затем снова попробуйте получить документы, используя getDocumentsWithSource: FIRFirestoreSourceServer Я получаю эту ошибку -
Error Domain = FIRFirestoreErrorDomain Code = 14 "Не удалось получить документы с сервера. (Однако эти документы могут существовать в локальном кэше. Запустите снова, не устанавливая источник FIRFirestoreSourceServer для извлечения кэшированных документов.)" UserInfo = {NSLocalizedDescription = Не удалось получить документы с сервера. (Однако эти документы могут существовать в локальном кэше. Запустите снова, не устанавливая источник FIRFirestoreSourceServer для извлечения кэшированных документов.)}
Мой интернет в порядке, и эта проблема не возникает, если я изменяю существующий документ или добавляю документ. Это происходит только с этой коллекцией, когда я удаляю документ, и у меня не может быть решения удалить приложение и переустановить его, потому что мне нужно, чтобы приложение время от времени получало все документы. Так что, если эта проблема не исчезнет, это станет большой проблемой.
Редактировать: я просто хочу отметить, что когда эта проблема возникает, эта проблема связана с этой установкой, потому что, если я пытаюсь получить документы из альтернативного источника, такого как сценарий node.js, правильное количество документов без каких-либо ошибки вытягиваются. Поэтому удаление приложения и переустановка являются временным решением (до следующего раза).