Cette page propose des conseils et un dépannage pour les problèmes spécifiques à la plate-forme Apple que vous pourriez rencontrer lors de l'utilisation de Firebase.
Vous avez d'autres difficultés ou votre problème ne figure pas ci-dessous ? Assurez-vous de consulter la FAQ principale de Firebase pour plus de FAQ pan-Firebase ou spécifiques au produit.
Vous pouvez également consulter le dépôt GitHub du SDK des plates-formes Apple Firebase pour une liste à jour des problèmes signalés et des dépannages. Nous vous encourageons également à y déposer vos propres problèmes liés au SDK des plates-formes Apple Firebase !
Quelles versions de Xcode Firebase prend-il en charge ?
Firebase prend en charge jusqu'à deux versions majeures de Xcode, sans compter les versions de Xcode qu'Apple ne prend plus en charge. Par exemple, à partir de mars 2019, Apple exigeait au moins iOS 12 sur toutes les applications, ce qui signifie que la prise en charge de Xcode 9 a été abandonnée et que Xcode 10 était la seule version majeure prise en charge.
Les modifications apportées à la prise en charge de versions mineures ou de correctifs spécifiques de Xcode (par exemple, 9.2.0 à 9.4.1) sont déterminées en fonction des besoins du SDK des plates-formes Apple Firebase et d'une enquête sur l'utilisation des 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 pour les plates-formes Apple Firebase .
Pour voir la version minimale de Xcode prise en charge par le SDK, vérifiez les exigences répertoriées dans Ajouter Firebase à votre projet Apple .
La prise en charge de Firebase pour les versions bêta de Xcode est disponible dans la mesure du possible. Les développeurs peuvent suivre et soumettre les problèmes dans le référentiel SDK des plates-formes Apple Firebase 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éparer ça?
Mettez à niveau votre dépendance Firebase vers la version 9.6.0 ou supérieure et ajoutez la [capacité de partage de trousseau](/docs/ios/troubleshooting-faq#macos-keychain-sharing) à votre cible.
Pourquoi Firebase nécessite-t-il la fonctionnalité de partage de trousseau sur macOS ?
Les SDK Firebase utilisent un trousseau pour stocker des informations telles que l'ID d'installation Firebase utilisé pour FCM. Sans accès au trousseau, les SDK Firebase peuvent 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 en bac à sable auquel l’application a un accès implicite. Ainsi, lorsqu'une application Mac interagit avec le trousseau, le système demande à l'utilisateur d'y accéder, car l'application Mac peut modifier un élément du trousseau qu'elle n'a pas créé. Pour résoudre cette différence, 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 au 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 qui peut être partagé entre ses cibles, autorisant ainsi l'application à accéder librement aux éléments du trousseau dans le groupe d'accès.
Pour plus d'informations, consultez la documentation du trousseau d'Apple.
Dans les versions 13 et ultérieures de Xcode, pourquoi mes applications UIKit ne peuvent-elles pas ouvrir certaines URL que j'ai enregistrées
dans mon 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 URL que chaque application peut effectuer. Avec la sortie de Xcode 13, ces limites sont appliquées, alors que dans Xcode 12 et versions antérieures, il n'y avait aucune 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 pris en compte 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 en silence. L'application peut ne pas être en mesure d'exécuter certains liens profonds, selon l'ordre dans lequel ils sont ajoutés.