FirebaseApp configure


#1

Добрый вечер, кто на постоянное работает с firebase, подскажите есть ли метод в FirebaseApp, с помощью которого можно будет проверить закончилась конфигурация или нет!?


#2

@RexHunt Вы по любому знаете, спасите мой сон))


#3

нет ни какого смысла в отслеживании конфигурации, тк она заключается всего лишь в чтении GoogleService-Info.plist файла с локального диска и не зависит от связи с Firebase (документация)

Она может потерпеть крах, только если вы сами изменяли этот файл потом


#4

да, либо я обращаюсь к методам Auth или Database до того как прошла конфигурация
Тогда я также терплю крах


#5

ну так это и не надо делать до конфигурации ))) Поэтому её в дидФинишЛуанч и ставят ) Она пройдёт в любом случае до запуска приложения, если файл не изменялся. Хотя может я чего-то и не знаю ) По докам вроде всё ровно :slight_smile:


#6

Проблема решена)

Да, он там и записан, в этом и проблема была, что было бы шикарно отследить момент когда конфигурация закончилась и можно работать дальше)


#7

Насколько я понимаю, основные проблемы возникают, если вы хотите инициализировать какие-либо ссылки до завершения конфигурации типа:
var ref = Database.database().reference() для realtime database
var db = Firestore.firestore() для firestore
Что неправильно.

Используйте где-то в основном файле с моделью
var ref: DatabaseReference! для realtime database
var db: Firestore! для firestore

Тогда в делегате уже можно сразу после FirebaseApp.configure() инициализировать свои ссылки
ref = Database.database().reference() или db = Firestore.firestore() и работать с настройками

let settings = db.settings
     ...

Ну или использовать lazy перед инициализацией, но тут я не уверен

Гугл вроде не просит следить за конфигурацией, т.к. она очень быстро проходит и проблемы только в порядке инициализации вроде как могут быть :slight_smile:


#8

@ODiN все верно говорит. Нужно лишь соблюдать порядок действий.