Nous fusionnons nos SDK d'extension Swift dans les SDK principaux afin de rendre les API natives Swift plus largement disponibles et d'accroître notre capacité à prendre en charge de nouvelles fonctionnalités du langage Swift à l'avenir. Les modifications que nous apportons et leurs impacts attendus sur vos projets sont décrits ci-dessous.
Ce qui change
À partir du SDK Firebase pour Apple 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 générera un avertissement du compilateur. De plus, à partir de février 2024, nous cesserons complètement de publier les extensions Swift.
★ Remarque : Toutes les versions des extensions Swift publiées actuellement ou précédemment continueront de fonctionner. Toutefois, nous vous recommandons de migrer votre application pour qu'elle utilise les API Swift du module principal. Vous pourrez ainsi continuer à recevoir des correctifs et à profiter des modifications et des nouvelles fonctionnalités.
Dates importantes pour cette modification
En octobre 2023
Les SDK d'extension Swift ont été fusionnés dans les SDK principaux, puis rendus obsolètes au profit des SDK principaux. Consultez les notes de version pour la version 10.17.0 annonçant cette modification.
Vous pouvez désormais utiliser les API des SDK d'extension Swift directement à partir des modules SDK principaux. 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.
À partir de février 2024
Nous cesserons de publier de nouvelles versions des extensions Swift et nous les supprimerons de Package.swift de Firebase. Les anciennes versions continueront de fonctionner, mais ne recevront plus de mises à jour.
Comment migrer pour utiliser les API natives Swift à partir du module principal
Si vous n'utilisez pas actuellement les SDK d'extension Swift, aucune action n'est requise. Si vous utilisez un SDK d'extension Swift, apportez les modifications suivantes à 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 ultérieure, accédez à la section "Frameworks, Libraries, and Embedded Content" (Frameworks, bibliothèques et contenu intégré) de l'onglet "General" (Général) des paramètres de votre cible, puis supprimez le SDK d'extension Swift (tel que FirebaseFirestoreSwift).
CocoaPods
Après avoir mis à jour Firebase vers la version 10.17.0 ou ultérieure, accédez à votre 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 (tel que 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 toutes les extensions Swift xcframeworks de votre projet (telles que FirebaseFirestoreSwift.xcframework).
Modifications du code source
Pour tous les SDK d'extension Swift que vous avez utilisés précédemment, procédez comme suit :
- 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 devrez remplacer l'importation de l'extension Swift par l'importation du SDK principal en supprimant
Swiftà la fin de la ligne. - Si vous avez utilisé l'espace de noms de module explicite de Swift pour faire référence à des types de SDK d'extension Swift, vous devrez les remplacer par le SDK principal correspondant. Par exemple,
FirebaseFirestoreSwift.QueryPredicatedevra être renomméFirebaseFirestore.QueryPredicate.