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 mettrons également cette page à jour périodiquement avec de nouveaux sujets. N'hésitez pas à revenir pour voir si nous avons ajouté le sujet sur lequel vous souhaitez en savoir plus.

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é. Consultez le dépôt GitHub du SDK des plates-formes Firebase pour Apple pour obtenir des instructions d'installation et connaître les problèmes connus.

Bibliothèque iOS macOS Mac
Catalyst
tvOS visionOS watchOS
A/B Testing
Firebase AI Logic 1 iOS 15 et versions supérieures macOS 12 et versions supérieures Catalyst 15 et versions supérieures tvOS 15 et versions supérieures (assistance de la communauté uniquement) watchOS 8 et versions supérieures
Analytics v8.9.0 et versions supérieures v8.9.0 et versions supérieures v8.9.0 et versions supérieures
Analytics sans ID publicitaire v8.9.0 et versions supérieures v8.9.0 et versions supérieures v8.9.0 et versions supérieures
Analytics conversion sur l'appareil
Fournisseur DeviceCheck App Check watchOS 9 et versions supérieures
Fournisseur App Attest App Check iOS 14 et versions supérieures macOS 11 et versions supérieures Catalyst 14 et versions supérieures tvOS 15 et versions supérieures watchOS 9 et versions supérieures
Fournisseurs personnalisés et de débogage App Check
App Distribution
Authentication partielle partielle partielle partielle partielle
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".

App Clips

La plupart des bibliothèques Firebase seront compilées et s'exécuteront dans une cible App Clip. Toutefois, de nombreuses bibliothèques sont limitées en raison des restrictions du système d'exploitation sous-jacent. Voici quelques problèmes connus :

  • Les liens dynamiques ne peuvent pas envoyer les utilisateurs vers un App Clip s'ils appuient sur un lien sans que l'application soit installée.
  • Firestore et Realtime Database ne peuvent pas charger de données dans les App Clips en raison d'une dépendance CFStream sous-jacente.

Consultez le dépôt GitHub Firebase pour obtenir la liste complète des problèmes connus liés aux App Clips.

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 seule 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 des plates-formes Firebase pour Apple étaient auparavant de petits modules complémentaires Open Source aux bibliothèques existantes des plates-formes Firebase pour 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. Toutefois, 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 sur le swizzling du délégué d'application.

Swizzling du délégué d'application

Firebase swizzle certaines méthodes dans la classe de délégué d'application de votre application pour connecter automatiquement certains services Firebase aux rappels du système d'exploitation, comme FCM et le jeton APNs. Vous pouvez désactiver le swizzling dans votre application en ajoutant l'indicateur FirebaseAppDelegateProxyEnabled au fichier Info.plist de l'application et en le définissant sur NO.

Quatre produits Firebase utilisent le swizzling du délégué d'application : 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 découvrir comment l'utiliser sans swizzling :

Compatibilité avec iOS 14

iOS 14 inclut de nouvelles modifications apportées aux autorisations utilisateur concernant l'identifiant publicitaire de l'utilisateur. Pour savoir si votre application peut être affectée, consultez le guide de préparation à iOS 14.

Assistance continue pour Objective-C

Pour faciliter la maintenance de la documentation sur les plates-formes Apple, Firebase a décidé de se concentrer sur les extraits Swift et les exemples de code dans ses guides et autres ressources pour les développeurs. Les extraits 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 des plates-formes Firebase pour Apple

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

SDK des plates-formes Firebase pour 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 public Firebase.

FirebaseUI

FirebaseUI est un ensemble de bibliothèques d'utilitaires basées sur Firebase, y compris un flux d'interface utilisateur 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 gère une collection d'exemples de démarrage rapide pour la plupart des API Firebase sur iOS. Vous trouverez ces guides de démarrage rapide dans notre dépôt GitHub public Firebase quickstart.

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