Migrer vers l'utilisation des API d'extension Swift dans les modules principaux

Nous fusionnons nos SDK d'extension Swift avec les SDK principaux afin de rendre les API natives Swift plus largement disponibles et d'augmenter notre capacité à prendre en charge les nouvelles fonctionnalités du langage Swift à l'avenir. Les changements que nous apportons et leurs impacts attendus sur vos projets sont documentés ci-dessous.

Qu'est-ce qui change ?

À partir de Firebase pour Apple SDK 10.17.0, les SDK d'extension Swift ont été fusionnés 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 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 et dès février 2024, nous cesserons complètement de publier les extensions Swift.

★ Remarque : toutes les versions actuellement ou antérieurement publiées des extensions Swift fonctionneront toujours. Cependant, nous vous recommandons de migrer votre application pour utiliser les API Swift à partir du module principal afin de vous assurer de continuer à recevoir des correctifs et de pouvoir profiter des modifications et des nouvelles fonctionnalités.

Dates importantes pour ce changement

En octobre 2023

Les SDK de l'extension Swift ont été fusionnés dans les SDK principaux, puis obsolètes 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 du SDK. L'utilisation des SDK d'extension sera toujours possible jusqu'à la prochaine version majeure, mais déclenchera un avertissement de dépréciation lors de son utilisation.

Dès février 2024

Nous arrêterons de publier de nouvelles versions des extensions Swift et nous supprimerons les extensions Swift de Package.swift de Firebase. Les anciennes versions continueront de fonctionner mais ne recevront pas de mises à jour.

Comment migrer pour utiliser les API natives Swift à partir du module principal

Si vous n'utilisez actuellement pas les SDK d'extension Swift, aucune action n'est nécessaire. Si vous utilisez un SDK d'extension Swift, apportez les modifications suivantes à votre projet.

Modifications de l'espace de travail

Gestionnaire de paquets Swift

Après avoir mis à jour Firebase vers la version 10.17.0+, accédez à la section Frameworks, Libraries and Embedded Content dans l'onglet Général des paramètres de votre cible et supprimez le SDK d'extension Swift (tel que FirebaseFirestoreSwift ).

Cosses de cacao

Après avoir mis à jour Firebase vers la version 10.17.0+, accédez à votre Podfile et supprimez la ligne correspondant à la dépendance de votre projet lors de l'ajout de la section frameworks pour votre cible et supprimez le SDK d'extension Swift (tel que le pod FirebaseFirestoreSwift ). Ensuite, réexécutez la commande pod install .

Distribution Zip et Carthage

Après avoir mis à jour Firebase vers la version 10.17.0+, supprimez toute extension Swift xcframeworks de votre projet (telle que FirebaseFirestoreSwift.xcframework ).

Modifications du code source

Pour tous les SDK d’extension Swift que vous avez utilisés précédemment, effectuez les actions suivantes :

  1. Supprimez toutes les instructions d'importation faisant référence au SDK de l'extension Swift. Si le SDK principal n'a pas été importé séparément, vous devrez 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 devra être renommé FirebaseFirestore.QueryPredicate .