Все работает правильно на Android, но на iOS то же чтение возвращает пустые данные (
Код: Выделить всё
snapshot.exists == falseЧто я делаю
Я перехожу к экрану и получаю боевые вопросы, например:
Код: Выделить всё
final snap = await FirebaseDatabase.instance
.ref('quizBattle/$roomId/questions')
.get();
print("exists = ${snap.exists}");
print("value = ${snap.value}");
-
Android → существует = true, данные возвращаются
iOS → существует = false, значение = null
Исключения не создаются
Правила базы данных Firebase Realtime (соответствующие) часть)Код: Выделить всё
"quizBattle": { ".read": true, ".write": "auth != null", "$battle_id": { ".read": "auth != null", "questions": { ".read": true, ".write": true } } }
Связано ли это с:
- Порядком оценки правил Firebase?
- Родительский файл .read блокирует дочернее чтение?
- Firebase Auth не готов на iOS?
Что я пробовал
- Добавление .read: true по вопросам
- Перезапуск приложения/очистка кеша
- Проверка правильности пути и данных к базе данных
Ожидаемое поведение
И Android, и iOS должны работать уметь читать:
Код: Выделить всё
quizBattle/{battleId}/questions
Подробнее здесь: https://stackoverflow.com/questions/798 ... ists-false
Мобильная версия