Cette page propose des conseils et des solutions pour résoudre les problèmes spécifiques aux plates-formes Apple que vous pourriez rencontrer lors de l'utilisation de Firebase.
Vous rencontrez d'autres difficultés ou vous ne trouvez pas votre problème ci-dessous ? Consultez les questions fréquentes principales sur Firebase pour obtenir des réponses à d'autres questions fréquentes sur Firebase ou sur des produits spécifiques.
Vous pouvez également consulter le dépôt GitHub du SDK Firebase pour les plates-formes Apple pour obtenir une liste à jour des problèmes signalés et des solutions de dépannage. Nous vous encourageons également à y signaler vos propres problèmes liés au SDK Firebase pour les plates-formes Apple.
Quelles versions de Xcode sont compatibles avec Firebase ?
Firebase est compatible avec deux versions majeures de Xcode, à l'exclusion des versions de Xcode qu'Apple ne prend plus en charge. Par exemple, à partir de mars 2019, Apple a exigé au moins iOS 12 sur toutes les applications, ce qui signifie que la compatibilité avec Xcode 9 a été abandonnée et que Xcode 10 était la seule version majeure compatible.
Les modifications apportées à la compatibilité avec des versions mineures ou des correctifs spécifiques de Xcode (par exemple, de la version 9.2.0 à la version 9.4.1) sont déterminées en fonction des besoins du SDK Firebase pour les plates-formes Apple et d'une enquête sur l'utilisation par les développeurs. Ces modifications sont reflétées dans les notes de version du SDK Firebase pour les plates-formes Apple et sur la page de configuration du SDK Firebase pour les plates-formes Apple.
Pour connaître la version minimale de Xcode compatible avec le SDK, consultez les exigences listées dans Ajouter Firebase à votre projet Apple.
La compatibilité de Firebase avec les versions bêta de Xcode est disponible dans la mesure du possible. Les développeurs peuvent suivre et signaler les problèmes dans le dépôt du SDK des plates-formes Firebase pour Apple sur GitHub.
Mon application demande à l'utilisateur son mot de passe pour accéder aux éléments du trousseau sur macOS. Comment puis-je résoudre le problème ?
Mettez à niveau votre dépendance Firebase vers la version 9.6.0 ou une version ultérieure, puis ajoutez la [fonctionnalité de partage du trousseau](/docs/ios/troubleshooting-faq#macos-keychain-sharing) à votre cible.
Pourquoi Firebase nécessite-t-il la fonctionnalité de partage du trousseau sur macOS ?
Les SDK Firebase utilisent le trousseau pour stocker des informations telles que l'ID d'installation Firebase utilisé pour FCM. Sans accès au trousseau, les SDK Firebase risquent de ne pas fonctionner correctement. Le trousseau macOS se comporte différemment du trousseau de style iOS utilisé sur d'autres plates-formes (iOS, tvOS, macCatalyst et watchOS).
Sur macOS, les applications utilisent un trousseau partagé qui peut être modifié par d'autres applications et processus. Contrairement à iOS, il n'existe pas de trousseau d'accès en bac à sable auquel l'application a un accès implicite. Ainsi, lorsqu'une application Mac interagit avec le trousseau, le système invite l'utilisateur à l'autoriser, car l'application Mac peut modifier un élément du trousseau qu'elle n'a pas créé. Pour résoudre ce problème, Firebase interroge le trousseau avec la clé kSecUseDataProtectionKeychain, qui indique à l'application d'interroger un élément du trousseau faisant partie d'un groupe d'accès au trousseau (comportement par défaut sur les autres plates-formes). La fonctionnalité de partage du trousseau est requise, car l'application en a besoin pour synthétiser un groupe d'accès pouvant être partagé entre ses cibles, ce qui l'autorise à accéder librement aux éléments du trousseau dans le groupe d'accès.
Pour en savoir plus, consultez la
documentation sur le trousseau
d'Apple.
Dans Xcode 13 et versions ultérieures, pourquoi mes applications UIKit ne peuvent-elles pas ouvrir certaines URL que j'ai enregistrées
dans mon fichier Info.plist ?
Apple a introduit une limite de 50 entrées LSApplicationQueriesSchemes dans les fichiers Info.plist. En 2015, Apple a introduit LSApplicationQueriesSchemes pour limiter le nombre de requêtes d'URL que chaque application pouvait effectuer. Avec la sortie de Xcode 13, ces limites sont appliquées, alors que dans Xcode 12 et les versions antérieures, il n'y avait pas de limite effective au nombre de schémas.
Certains produits Firebase, comme Firebase Authentication et Firebase Dynamic Links, nécessitent l'utilisation de schémas d'URL personnalisés pour rediriger vers votre application. Ces URL sont conformes à un schéma d'URL concis et cohérent qui ne devrait pas être comptabilisé de manière significative dans la limite de 50 schémas de liens.
Notez que pour les applications qui continuent d'enregistrer plus de 50 LSApplicationQueriesSchemes, certains schémas seront ignorés sans notification. Il est possible que l'application ne puisse pas exécuter certains liens profonds, en fonction de l'ordre dans lequel ils sont ajoutés.
Quelles mentions Open Source dois-je inclure dans mon application ?
Pour les plates-formes Apple, le SDK Firebase est distribué sous la licence Apache 2.0.