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

Nous fusionnons nos SDK d'extension Swift dans les SDK principaux afin de rendre les API natives Swift plus largement disponibles et d'améliorer notre capacité à prendre en charge de nouvelles fonctionnalités du langage Swift à l'avenir. Les modifications que nous apportons et leur impact attendu sur vos projets sont documentés ci-dessous.

Ce qui change

À partir de la version 10.17.0 du SDK Firebase pour Apple, les SDK de l'extension Swift ont été fusionnés avec les 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 accéder à ces API.

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

★ Remarque: Toutes les versions actuelles ou antérieures des extensions Swift continueront 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 concernant 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 lorsqu'ils seront utilisés.

Dès février 2024

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

Migrer pour utiliser les API Swift-natives à 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 à votre projet.

Modifications apportées à l'espace de travail

Gestionnaire de paquets Swift

Après avoir mis à jour Firebase vers la version 10.17.0 ou ultérieure, accédez à la section "Frameworks, bibliothèques et contenu intégré" dans l'onglet "Général" des paramètres de votre cible, puis supprimez le SDK d'extension Swift (par exemple, 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 Zip et Carthage

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

Modifications du code source

Pour tous les SDK d'extension Swift que vous avez précédemment utilisés, 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 l'importation de l'extension Swift par l'importation du SDK principal en supprimant le Swift à la fin de la ligne.
  2. Si vous avez utilisé l'espace de noms de module explicite de Swift pour référencer des types de SDK d'extension Swift, vous devrez les remplacer par le SDK principal correspondant. Par exemple, FirebaseFirestoreSwift.QueryPredicate doit être renommé en FirebaseFirestore.QueryPredicate.