GitLive Firebase Kotlin SDK: сбой iOS с помощью orderByKey() + startAt()/endAt()IOS

Программируем под IOS
Ответить
Anonymous
 GitLive Firebase Kotlin SDK: сбой iOS с помощью orderByKey() + startAt()/endAt()

Сообщение Anonymous »

Я использую GitLive Firebase Kotlin SDK (v2.4.0) в мультиплатформенном проекте Kotlin. Мой код отлично работает на Android, но вылетает на iOS при использовании orderByKey() в сочетании с startAt() и endAt().
Сообщение об ошибке

Завершение работы приложения из-за необработанного исключения «InvalidQueryParameter», причина: «Вместо этого необходимо использовать queryStartingAtValue: of queryStartingAtValue:childKey: при использовании queryOrderedByKey:'
  • SDK: GitLive Firebase Kotlin SDK v2.4.0
  • Платформа: iOS (отлично работает на Android)
  • База данных Firebase в реальном времени
  • Kotlin: 2.2.21
Анализ первопричин
Эта ошибка предполагает, что реализация iOS неправильно вызывает собственный метод Firebase queryStartingAtValue:childKey: (2 параметра) version) вместо queryStartingAtValue: (версия с 1 параметром), когда используется orderByKey().
Согласно документации Firebase iOS SDK, при использовании queryOrderedByKey следует использовать вариант с одним параметром.
Кто-нибудь сталкивался с такой же проблемой? Каким может быть обходной путь? Я не хочу использовать Cocoapod, так как слышал, что в настоящее время он не используется, и тогда мне придется удалить SPM.
Код, который дает сбой (только для iOS)
val videosSnapshot = database.reference("Videos")
.orderByKey()
.startAt("${courseId}_")
.endAt("${courseId}_\uf8ff")
.valueEvents
.first()

Сложить точки трассировки в
/firebase-kotlin-sdk/firebase-database/src/appleMain/kotlin/dev/gitlive/firebase/database/database.kt


Подробнее здесь: https://stackoverflow.com/questions/798 ... rtat-endat
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»