Auf dieser Seite finden Sie Tipps und Informationen zur Fehlerbehebung bei plattformspezifischen Problemen mit Apple-Geräten, die bei der Verwendung von Firebase auftreten können.
Sie haben andere Probleme oder können das unten beschriebene Problem nicht sehen? Weitere Firebase-spezifische oder allgemeine Fragen und Antworten finden Sie in den häufig gestellten Fragen zu Firebase.
Im GitHub-Repository des Firebase SDK für Apple-Plattformen finden Sie eine aktuelle Liste der gemeldeten Probleme und Informationen zur Fehlerbehebung. Wir empfehlen Ihnen, dort auch eigene Probleme mit dem Firebase Apple Platforms SDK zu melden.
Welche Xcode-Versionen werden von Firebase unterstützt?
Firebase unterstützt bis zu zwei Hauptversionen von Xcode, ausgenommen Versionen von Xcode, die von Apple nicht mehr unterstützt werden. Beispielsweise wurde ab März 2019 von Apple mindestens iOS 12 für alle Apps gefordert. Das bedeutet, dass die Unterstützung für Xcode 9 eingestellt wurde und Xcode 10 die einzige unterstützte Hauptversion war.
Änderungen an der Unterstützung bestimmter Minor- oder Patch-Versionen von Xcode (z. B. 9.2.0 bis 9.4.1) werden basierend auf den Anforderungen des Firebase Apple Platforms SDK und einer Umfrage zur Nutzung durch Entwickler festgelegt. Diese Änderungen sind in den Releasehinweisen zum Firebase Apple Platforms SDK und auf der Einrichtungsseite für das Firebase Apple Platforms SDK aufgeführt.
Die vom SDK unterstützte Mindestversion von Xcode finden Sie in den Anforderungen unter Firebase Ihrem Apple-Projekt hinzufügen.
Der Firebase-Support für Betaversionen von Xcode erfolgt auf Best-Effort-Basis. Entwickler können Probleme im Firebase Apple Platforms SDK-Repository auf GitHub verfolgen und melden.
Meine App fordert den Nutzer zum Geben seines Passworts auf, um auf Schlüsselbundelemente unter macOS zuzugreifen. Wie kann ich dies korrigieren?
Führen Sie ein Upgrade Ihrer Firebase-Abhängigkeit auf Version 9.6.0 oder höher durch und fügen Sie Ihrem Ziel die [Schlüsselbundfreigabe](/docs/ios/troubleshooting-faq#macos-keychain-sharing) hinzu.
Warum ist für Firebase die Schlüsselbundfreigabe unter macOS erforderlich?
Firebase SDKs verwenden den Schlüsselbund, um Informationen wie die Firebase-Installations-ID zu speichern, die für FCM verwendet wird. Ohne Zugriff auf den Schlüsselbund 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. Anders als bei iOS gibt es keinen sandboxed-Schlüsselbund, auf den die App impliziten Zugriff hat. Wenn also eine Mac-App mit dem Schlüsselbund interagiert, wird der Nutzer vom System zum Zugriff aufgefordert, da die Mac-App möglicherweise ein Schlüsselbundelement ändert, das sie nicht erstellt hat. Um diese Abweichung zu beheben, fragt Firebase den Schlüsselbund mit dem Schlüssel kSecUseDataProtectionKeychain
ab. Dadurch wird die App aufgefordert, ein Schlüsselbundelement abzufragen, das zu einer Schlüsselbundzugriffsgruppe gehört. Dies ist das Standardverhalten auf anderen Plattformen. Die Freigabefunktion für den Schlüsselbund ist erforderlich, da die App damit eine Zugriffsgruppe erstellen kann, die für ihre Ziele freigegeben werden kann. So erhält die App die Berechtigung, 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-Version 13 und höher einige URLs nicht öffnen, die ich in meiner Info.plist registriert habe?
Apple hat ein Limit von 50 LSApplicationQueriesSchemes
-Einträgen in Info.plist
-Dateien eingeführt. 2015 hat Apple LSApplicationQueriesSchemes
eingeführt, um die Anzahl der URL-Abfragen zu begrenzen, die von jeder App gesendet werden können. Mit der Veröffentlichung von Xcode 13 werden diese Limits erzwungen. In Xcode 12 und niedriger gab es keine effektive Beschränkung der Anzahl der Schemas.
Für einige Firebase-Produkte wie Firebase Authentication und Firebase Dynamic Links ist die Verwendung von benutzerdefinierten URL-Schemas erforderlich, um Nutzer zu Ihrer App weiterzuleiten. Diese URLs entsprechen einem prägnanten und einheitlichen URL-Schema, das das Limit von 50 Link-Schemas nicht wesentlich überschreiten sollte.
Bei Apps, die weiterhin mehr als 50 LSApplicationQueriesSchemes
registrieren, werden einige Schemas automatisch ignoriert. Je nach Reihenfolge, in der sie hinzugefügt werden, kann die App bestimmte Deeplinks möglicherweise nicht ausführen.