Migrer vers les API d'extension Swift dans les modules principaux

Nous fusionnons les SDK de l'extension Swift dans les SDK principaux pour que Disponibilité élargie des API natives Swift et compatibilité accrue de nouvelles fonctionnalités en langage Swift à l'avenir. Vous trouverez ci-dessous les modifications que nous apportons et leurs conséquences attendues sur vos projets.

Ce qui change

À partir de la version 10.17.0 du SDK Firebase pour Apple, les SDK de l'extension Swift ont été fusionnées dans leurs SDK principaux correspondants. Par exemple, toutes les API du module FirebaseFirestoreSwift ont été ajoutées à FirebaseFirestore. Vous n'avez donc plus besoin d'importer le module FirebaseFirestoreSwift pour y accéder.

Étant donné que toutes les extensions Swift font désormais partie des modules principaux, les SDK des extensions ne sont plus obligatoires et sont obsolètes. L'inclusion ou l'utilisation des SDK d'extension Swift génère un avertissement du compilateur. Dès février 2024, nous cesserons complètement de publier les extensions Swift.

★ Remarque: Toutes les versions existantes ou antérieures des extensions Swift continuera de fonctionner. Toutefois, nous vous recommandons de migrer votre application vers les API Swift à partir du module principal pour continuer à recevoir des correctifs et profiter des modifications et des nouvelles fonctionnalités.

Dates importantes pour ce changement

En octobre 2023

Les SDK d'extension Swift ont été fusionnés dans les SDK principaux, puis abandonnés au profit des SDK principaux. Consultez les notes de version de la version 10.17.0 annonçant ce changement.

Vous pouvez désormais utiliser les API du SDK de l'extension Swift directement à partir des principaux modules SDK. L'utilisation des SDK d'extension est toujours possible jusqu'à la prochaine version majeure, mais un avertissement d'obsolescence s'affichera lors de leur utilisation.

Dès février 2024

Nous allons cesser de publier de nouvelles versions des extensions Swift et supprimerons Extensions Swift de Package.swift de Firebase. Les anciennes versions continueront de fonctionner, mais ne recevront plus de mises à jour.

Migrer vers l'utilisation d'API natives Swift à partir du module principal

Si vous n'utilisez pas actuellement les SDK d'extension Swift, aucune action n'est requise de votre part. Si vous utilisez un SDK d'extension Swift, apportez les modifications suivantes dans votre projet :

Modifications apportées à l'espace de travail

Swift Package Manager

Après avoir mis à jour Firebase vers la version 10.17.0 ou une version ultérieure, accédez à Frameworks. "Bibliothèques" et "Contenu intégré" de l'onglet "Général" et supprimer le SDK de l'extension Swift (comme FirebaseFirestoreSwift).

CocoaPods

Après avoir mis à jour Firebase vers la version 10.17.0 ou ultérieure, accédez à votre fichier Podfile et supprimez la ligne correspondant à la dépendance de votre projet sur l'ajout de la section des frameworks pour votre cible, puis supprimez le SDK d'extension Swift (par exemple, le pod FirebaseFirestoreSwift). Ensuite, exécutez à nouveau la commande pod install.

Distribution de code postal et Carthage

Après avoir mis à jour Firebase vers la version 10.17.0 ou une version ultérieure, supprimez toute extension Swift. xcframeworks au sein de votre projet (comme FirebaseFirestoreSwift.xcframework).

Modifications apportées au code source

Pour tous les SDK d'extension Swift que vous utilisiez auparavant, procédez comme suit :

  1. Supprimez toutes les instructions d'importation faisant référence au SDK d'extension Swift. Si le SDK principal n'a pas été importé séparément, vous devez remplacer le Swift l'importation des extensions avec l'importation du SDK principal en supprimant l'Swift au niveau à la fin de la ligne.
  2. Si vous avez utilisé l'espace de noms explicite des modules de Swift pour faire référence à n'importe quel Swift les types de SDK d'extension correspondants, vous devez les remplacer par les SDK. Par exemple, FirebaseFirestoreSwift.QueryPredicate doit être renommé en FirebaseFirestore.QueryPredicate.