Cette page fournit des conseils et des solutions de dépannage pour les problèmes spécifiques à la plate-forme Apple que vous pouvez rencontrer lorsque vous utilisez 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 en savoir plus sur Firebase ou sur des questions spécifiques à un produit.
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 des plates-formes Apple Firebase.
Quelles sont les versions de Xcode compatibles avec Firebase ?
Firebase est compatible avec deux versions majeures maximum de Xcode, sans compter les versions de Xcode qu'Apple ne prend plus en charge. Par exemple, depuis mars 2019, Apple a exigé au moins iOS 12 pour toutes les applications, ce qui signifie que la compatibilité avec Xcode 9 n'est plus assurée et que Xcode 10 était la seule version majeure compatible.
Les modifications apportées à la prise en charge de versions mineures ou de correctif spécifiques de Xcode (par exemple, de 9.2.0 à 9.4.1) sont déterminées en fonction des besoins du SDK des plates-formes Firebase 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 des plates-formes Apple Firebase et sur la page de configuration du SDK des plates-formes Apple Firebase.
Pour connaître la version minimale de Xcode prise en charge par le SDK, consultez les exigences listées dans la section Ajouter Firebase à votre projet Apple.
L'assistance Firebase pour les versions bêta d'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 Apple Firebase sur GitHub.
Mon application demande à l'utilisateur de saisir 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 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).
Sous 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. Par conséquent, lorsqu'une application Mac interagit avec le trousseau, le système demande à l'utilisateur l'accès, car l'application Mac peut modifier un élément de 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 de trousseau faisant partie d'un groupe d'accès de trousseau (il s'agit du comportement par défaut sur d'autres plates-formes). La fonctionnalité de partage de trousseau est requise, car l'application en a besoin pour synthétiser un groupe d'accès pouvant être partagé entre ses cibles, autorisant ainsi l'application à accéder librement aux éléments du trousseau du groupe d'accès.
Pour en savoir plus, consultez la
documentation sur les trousseaux
d'Apple.
Dans les versions Xcode 13 et 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 qu'il n'y avait pas de limite effective au nombre de schémas dans Xcode 12 et versions antérieures.
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 respectent 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 à enregistrer plus de 50 LSApplicationQueriesSchemes
, certains schémas seront ignorés sans notification. L'application peut ne pas être en mesure d'exécuter certains liens profonds, en fonction de l'ordre dans lequel ils sont ajoutés.