Diese Seite bietet Tipps und Fehlerbehebung für plattformspezifische Apple-Probleme, die bei der Verwendung von Firebase auftreten können.
Haben Sie andere Herausforderungen oder wird Ihr Problem unten nicht aufgeführt? Sehen Sie sich unbedingt die Haupt-FAQ zu Firebase an, um mehr übergreifende Firebase- oder produktspezifische FAQ zu erhalten.
Sie können auch das Firebase Apple-Plattform-SDK GitHub-Repository für eine aktuelle Liste der gemeldeten Probleme und Fehlerbehebungen einsehen. Wir empfehlen Ihnen, auch Ihre eigenen Probleme mit dem Firebase Apple-Plattform-SDK dort einzureichen!
Welche Versionen von Xcode unterstützt Firebase?
Firebase unterstützt bis zu zwei Hauptversionen von Xcode, ausgenommen Versionen von Xcode, die Apple nicht mehr unterstützt. Beispielsweise verlangte Apple ab März 2019 mindestens iOS 12 für alle Apps, was bedeutet, dass die Unterstützung von Xcode 9 eingestellt wurde und Xcode 10 die einzige unterstützte Hauptversion war.
Änderungen an der Unterstützung für bestimmte Neben- oder Patchversionen von Xcode (z. B. 9.2.0 bis 9.4.1) werden basierend auf den Anforderungen des Firebase-Apple-Plattform-SDK und einer Umfrage zur Entwicklernutzung festgelegt. Diese Änderungen spiegeln sich in den Versionshinweisen zum SDK für Apple-Plattformen von Firebase und auf der Setup-Seite für das Firebase-SDK für Apple-Plattformen wider.
Um die vom SDK unterstützte Xcode-Mindestversion anzuzeigen, überprüfen Sie die Anforderungen, die unter Hinzufügen von Firebase zu Ihrem Apple-Projekt aufgeführt sind.
Firebase-Support für Beta-Versionen von Xcode ist auf „Best Effort“-Basis verfügbar. Entwickler können Probleme im Firebase Apple-Plattform-SDK-Repository auf GitHub verfolgen und einreichen.
Meine App fordert den Benutzer auf, sein Passwort einzugeben, um unter macOS auf Schlüsselbundelemente zugreifen zu können. Wie behebe ich das?
Aktualisieren Sie Ihre Firebase-Abhängigkeit auf Version 9.6.0 oder höher und fügen Sie Ihrem Ziel die [Schlüsselbundfreigabefunktion](/docs/ios/troubleshooting-faq#macos-keychain-sharing) hinzu.
Warum benötigt Firebase die Schlüsselbundfreigabefunktion unter macOS?
Firebase-SDKs verwenden den Schlüsselbund, um Informationen wie die für FCM verwendete Firebase-Installations-ID zu speichern. Ohne Schlüsselbundzugriff funktionieren Firebase SDKs möglicherweise nicht richtig. Der macOS-Schlüsselbund verhält sich anders als der Schlüsselbund im iOS-Stil, der auf anderen Plattformen (iOS, tvOS, macCatalyst und watchOS) verwendet wird.
Unter macOS verwenden Apps einen gemeinsamen Schlüsselbund, der von anderen Apps und Prozessen geändert werden kann. Im Gegensatz zu iOS gibt es keinen Sandbox-Schlüsselbund, auf den die App impliziten Zugriff hat. Wenn also eine Mac-App mit dem Schlüsselbund interagiert, fordert das System den Benutzer zum Zugriff auf, da die Mac-App möglicherweise ein Schlüsselbundelement ändert, das sie nicht erstellt hat. Um diese Diskrepanz zu beheben, fragt Firebase den Schlüsselbund mit dem Schlüssel kSecUseDataProtectionKeychain
ab, der die App anweist, ein Schlüsselbundelement abzufragen, das Teil einer Schlüsselbundzugriffsgruppe ist (dies ist das Standardverhalten auf anderen Plattformen). Die Schlüsselbundfreigabefunktion ist erforderlich, da die App sie benötigt, um eine Zugriffsgruppe zu synthetisieren, die von ihren Zielen gemeinsam genutzt werden kann, wodurch der App die Erlaubnis erteilt wird, frei auf Schlüsselbundelemente in der Zugriffsgruppe zuzugreifen.
Weitere Informationen finden Sie in der Schlüsselbunddokumentation von Apple.
Warum können meine UIKit-Apps in Xcode-Versionen 13 und höher einige von mir registrierte URLs nicht öffnen?
in meiner Info.plist?
Apple hat ein Limit von 50 LSApplicationQueriesSchemes
Einträgen in Info.plist
Dateien eingeführt. Im Jahr 2015 führte Apple LSApplicationQueriesSchemes
ein, um die Anzahl der URL-Abfragen zu begrenzen, die jede App durchführen konnte. Mit der Veröffentlichung von Xcode 13 werden diese Beschränkungen durchgesetzt, während es in Xcode 12 und früher keine effektive Begrenzung der Anzahl von Schemata gab.
Einige Firebase-Produkte, wie Firebase Authentication und Firebase Dynamic Links, erfordern die Verwendung benutzerdefinierter URL-Schemata, um zu Ihrer Anwendung umzuleiten. Diese URLs entsprechen einem prägnanten und konsistenten URL-Schema, das nicht wesentlich auf die Beschränkung auf 50 Linkschemas angerechnet werden sollte.
Beachten Sie, dass bei Apps, die weiterhin mehr als 50 LSApplicationQueriesSchemes
registrieren, einige Schemas stillschweigend ignoriert werden. Abhängig von der Reihenfolge, in der sie hinzugefügt werden, kann die App möglicherweise bestimmte Deeplinks nicht ausführen.