Comprendre Firebase sur les plates-formes Apple

Lorsque vous développez votre application Apple à l'aide de Firebase, vous pouvez découvrir des concepts qui ne vous sont pas familiers ou qui sont spécifiques à Firebase. Cette page vise à répondre à ces questions ou à vous orienter vers des ressources pour en savoir plus.

Si vous avez des questions sur un sujet qui n'est pas abordé sur cette page, n'hésitez pas à consulter l'une de nos communautés en ligne. Nous ajouterons également régulièrement de nouveaux thèmes sur cette page. N'hésitez pas à la consulter pour voir si nous avons ajouté le thème qui vous intéresse.

Compatibilité des bibliothèques Firebase par plate-forme

Le tableau suivant décrit les bibliothèques Firebase compatibles avec les plates-formes Apple. Pour le moment, visionOS et watchOS ne sont compatibles qu'avec l'assistance de la communauté. Pour obtenir des instructions d'installation et connaître les problèmes connus, consultez le dépôt GitHub du SDK des plates-formes Apple Firebase.

Bibliothèque iOS macOS Mac
Catalyst
tvOS visionOS watchOS
A/B Testing
Firebase AI Logic 1 iOS 15 et versions ultérieures macOS 12+ Catalyst 15+ tvOS 15 et versions ultérieures (assistance de la communauté uniquement) watchOS 8 ou version ultérieure
Analytics v8.9.0+ v8.9.0+ v8.9.0+
Analytics sans identifiant publicitaire v8.9.0+ v8.9.0+ v8.9.0+
Analytics conversion sur l'appareil
App Check Fournisseur DeviceCheck watchOS 9 ou version ultérieure
App Check Fournisseur App Attest iOS 14 et versions ultérieures macOS 11 ou version ultérieure Catalyst 14+ tvOS 15 et versions ultérieures watchOS 9 ou version ultérieure
Fournisseurs de débogage et personnalisés App Check
App Distribution
Authentication partiel partiel partiel partiel partiel
Cloud Firestore Distributions sources uniquement
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Data Connect
Dynamic Links
Installations Firebase
Firebase ML Téléchargeur de modèles
In-App Messaging
Performance Monitoring
Realtime Database
Remote Config

1 Firebase AI Logic s'appelait auparavant "Vertex AI in Firebase".

Clips d'application

La plupart des bibliothèques Firebase seront compilées et exécutées dans une cible App Clip. Toutefois, de nombreuses bibliothèques sont limitées en raison des restrictions de l'OS sous-jacent. Voici quelques problèmes connus :

  • Les liens dynamiques ne peuvent pas rediriger les utilisateurs vers un extrait d'application s'ils appuient sur un lien sans avoir installé l'application.
  • Firestore et Realtime Database ne peuvent pas charger de données dans les extraits d'application en raison d'une dépendance CFStream sous-jacente.

Pour obtenir la liste complète des problèmes connus liés aux extraits d'application, consultez le dépôt GitHub Firebase.

GoogleService-Info.plist

Lorsque vous ajoutez Firebase à votre projet Apple, vous devez ajouter le fichier de configuration GoogleService-Info.plist à votre projet. Si vous souhaitez utiliser plusieurs projets Firebase dans une même application, consultez la documentation sur la configuration de plusieurs projets.

Pour en savoir plus sur le processus d'initialisation de l'application Firebase, consultez la documentation de référence Swift.

Swift Package Manager

Pour en savoir plus sur l'intégration de Swift Package Manager, consultez notre guide.

Extensions Swift

Les extensions Swift du SDK Firebase pour les plates-formes Apple étaient auparavant de petits modules complémentaires Open Source aux bibliothèques Firebase existantes pour les plates-formes Apple. Elles permettaient à votre code d'utiliser des fonctionnalités spécifiques au langage Swift. Ces API ont depuis été ajoutées directement aux bibliothèques principales et n'ont pas besoin d'être incluses séparément. Si vous aviez auparavant un SDK d'extension Swift dans votre code, consultez le guide de migration pour obtenir des instructions de mise à niveau.

SwiftUI

Firebase est entièrement compatible avec SwiftUI, mais la configuration sera légèrement différente de celle des applications UIKit pour que Firebase fonctionne correctement dans un environnement entièrement SwiftUI. Pour en savoir plus, consultez cet article de blog de Peter Friese.

Les applications SwiftUI doivent désactiver le swizzling en raison d'un problème connu. Pour en savoir plus, consultez la section Swizzling du délégué d'application.

Swizzling du délégué d'application

Firebase remplace certains méthodes dans la classe du délégué d'application de votre application pour connecter automatiquement certains services Firebase aux rappels de l'OS, comme FCM et le jeton APNs. Vous pouvez désactiver le swizzling dans votre application en ajoutant le flag FirebaseAppDelegateProxyEnabled dans le fichier Info.plist de l'application et en le définissant sur NO.

Quatre produits Firebase utilisent le swizzling App Delegate : Analytics, App Distribution, Authentication et FCM. Si vous avez désactivé le swizzling dans votre application et que vous utilisez l'un des produits suivants, consultez le guide spécifique au produit pour savoir comment l'utiliser sans swizzling :

Compatibilité avec iOS 14

iOS 14 inclut de nouvelles modifications concernant les autorisations des utilisateurs liées à leur identifiant publicitaire. Pour savoir si votre application peut être concernée, consultez le guide de préparation pour iOS 14.

Assistance continue pour Objective-C

Pour faciliter la maintenance de la documentation de nos plates-formes Apple, Firebase a décidé de se concentrer sur les extraits et exemples de code Swift dans nos guides et autres ressources pour les développeurs. Les extraits de code Objective-C seront supprimés de nos guides à partir du 1er janvier 2024. Nous continuerons de mettre à jour la documentation de référence pour Objective-C pour tous les produits Firebase.

Ressources Open Source pour les SDK Firebase pour les plates-formes Apple

Firebase est compatible avec le développement Open Source. Nous encourageons les contributions et les commentaires de la communauté.

SDK Firebase pour les plates-formes Apple

Tous les SDK Firebase pour les plates-formes Apple, à l'exception de Analytics, sont développés en tant que bibliothèques Open Source dans notre dépôt GitHub Firebase public.

FirebaseUI

FirebaseUI est un ensemble de bibliothèques utilitaires basées sur Firebase, y compris un flux d'UI intégré pour l'authentification et des utilitaires de données pour Cloud Firestore et Realtime Database. Pour en savoir plus sur FirebaseUI, consultez notre page GitHub.

Exemples de démarrage rapide

Firebase propose une collection d'exemples de démarrage rapide pour la plupart des API Firebase sur iOS. Retrouvez ces guides de démarrage rapide dans notre dépôt de guides de démarrage rapide Firebase GitHub public.

Vous pouvez ouvrir chaque démarrage rapide dans Xcode, puis les exécuter sur un appareil mobile ou un simulateur. Vous pouvez également utiliser ces guides de démarrage rapide comme exemples de code pour utiliser les SDK Firebase.