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 ist Ihr Problem unten nicht aufgeführt? Schauen Sie sich unbedingt die Haupt-FAQ zu Firebase an, um weitere Firebase-übergreifende oder produktspezifische FAQ zu erhalten.
Sie können sich auch das GitHub-Repo des Firebase Apple Platforms SDK ansehen, um eine aktuelle Liste der gemeldeten Probleme und Fehlerbehebungen zu erhalten. Wir empfehlen Ihnen, dort auch Ihre eigenen Probleme mit dem Firebase Apple Platforms SDK 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 bedeutete, dass die Xcode 9-Unterstützung 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 auf der Grundlage der Anforderungen des Firebase Apple-Plattform-SDK und einer Umfrage zur Entwicklernutzung ermittelt. Diese Änderungen sind in den Versionshinweisen zum Firebase Apple Platforms SDK und auf der Einrichtungsseite des Firebase Apple Platforms SDK widergespiegelt.
Um die vom SDK unterstützte Xcode-Mindestversion anzuzeigen, überprüfen Sie die unter „Firebase zu Ihrem Apple-Projekt hinzufügen“ aufgeführten Anforderungen.
Firebase-Unterstützung für Beta-Versionen von Xcode ist auf „Best-Effort“-Basis verfügbar. Entwickler können Probleme im SDK-Repository der Firebase-Apple-Plattformen auf GitHub verfolgen und einreichen.
Meine App fordert den Benutzer zur Eingabe seines Passworts auf, um auf Schlüsselbundelemente unter macOS zuzugreifen. Wie kann ich das beheben?
Aktualisieren Sie Ihre Firebase-Abhängigkeit auf Version 9.6.0 oder höher und fügen Sie die [Funktion zur Schlüsselbundfreigabe](/docs/ios/troubleshooting-faq#macos-keychain-sharing) zu Ihrem Ziel hinzu.
Warum benötigt Firebase unter macOS die Schlüsselbundfreigabefunktion?
Firebase SDKs verwenden einen Schlüsselbund zum Speichern von Informationen wie der für FCM verwendeten Firebase-Installations-ID. Ohne Schlüsselbundzugriff funktionieren Firebase SDKs möglicherweise nicht richtig. Der macOS-Schlüsselbund verhält sich anders als der iOS-Schlüsselbund, 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 implizit 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 Berechtigung erteilt wird, frei auf Schlüsselbundelemente in der Zugriffsgruppe zuzugreifen.
Weitere Informationen finden Sie in der Dokumentation zum Schlüsselbund 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 könnte. Mit der Veröffentlichung von Xcode 13 werden diese Beschränkungen durchgesetzt, während es in Xcode 12 und früher keine wirksame Begrenzung der Anzahl der Schemata gab.
Einige Firebase-Produkte wie Firebase Authentication und Firebase Dynamic Links erfordern die Verwendung benutzerdefinierter URL-Schemata für die Weiterleitung zu Ihrer Anwendung. Diese URLs entsprechen einem prägnanten und konsistenten URL-Schema, das nicht wesentlich auf die Beschränkung auf 50 Linkschemata angerechnet werden sollte.
Beachten Sie, dass bei Apps, die weiterhin mehr als 50 LSApplicationQueriesSchemes
registrieren, einige Schemata stillschweigend ignoriert werden. Abhängig von der Reihenfolge, in der sie hinzugefügt werden, kann die App bestimmte Deeplinks möglicherweise nicht ausführen.