Bitte helfen Sie. Nach der Migration zu einem neuen Firebase kann ich keine Daten abrufen. Verwenden Sie diese Konstruktion:
%Vor%Nach dem Ausführen sehe ich Fehler:
%Vor%Ich habe die Dokumentation gelesen, kann dieses Problem jedoch nicht beheben. GoogleService-Info.plist füge ich zum Projekt hinzu.
Ich habe diese Antwort noch nicht gesehen, ich musste den configure-Aufruf zur AppDelegate-Init-Methode hinzufügen. So sieht es aus:
%Vor%Hatte das gleiche Problem. Ich suchte nach Verbindungsproblemen, die mit dem Plist zusammenhängen, aber das war nicht das Problem. Ich dachte, das hat vielleicht dazu geführt, dass mein anfänglicher View-Controller gesperrt wird, bevor die Konfigurationen abgeschlossen sind. Ich habe das Problem gelöst, indem ich ein bisschen experimentiert habe.
Mein anfänglicher View-Controller war dies:
%Vor%Ich habe das geändert:
%Vor%Absturz behoben.
Also, bei mir hatte ich auch sofort eine Referenz, wenn der View-Controller instanziiert wurde. Ich musste es laden, nachdem die App im App-Delegierten mit FIRApp.configure()
konfiguriert wurde.
Vorher:
%Vor%Nachher:
%Vor% Dies verzögert die Instanziierung der Datenbankreferenz, bis sie benötigt wird, was bis viewDidLoad
auf Ihrem ursprünglichen View-Controller nicht mehr möglich ist.
Um auf der Antwort von @ColdLogic aufzubauen, lag der Grund für diesen Fehler darin, dass meine Firebase-Datenbankreferenz in einer init-Methode auf einem Ansichtscontroller erstellt wurde, nicht in der viewDidLoad-Methode . Da die init-Methoden für alle Klassen, die beim Start der App instanziiert werden, vor aufgerufen werden, führte die Anwendung: DidFinishLaunchingWithOptions-Methode im AppDelegate zu diesem Absturz. Diese Codezeile verschieben:
%Vor%hierhin:
%Vor%hat das Problem für mich gelöst.
In meinem Fall musste ich die Konfiguration ändern, die aufgerufen werden soll, bevor ich das super applicationDidLaunch aufruft:
%Vor% Stellen Sie sicher, dass Sie die Datei GoogleService-Info.plist
von Ihrer Firebase-Konsole heruntergeladen und zum Stammverzeichnis Ihres Projektverzeichnisses hinzugefügt haben.
Sobald Sie es hinzugefügt haben, rufen Sie diese Funktion von didFinishLaunchingWithOptions
in AppDelegate:
Das ist es, es sollte laufen!