Migra a las APIs de extensión de Swift en los módulos principales

Combinaremos nuestros SDK de extensión de Swift en los SDK principales para que las APIs nativas de Swift estén disponibles de forma más amplia y aumentar nuestra capacidad de admitir nuevas funciones del lenguaje Swift en el futuro. A continuación, se documentan los cambios que estamos haciendo y sus impactos esperados en tus proyectos.

¿Qué cambiará?

A partir de la versión 10.17.0 del SDK de Firebase para Apple, se combinaron los SDK de extensiones de Swift en sus SDK principales correspondientes. Por ejemplo, todas las APIs del módulo FirebaseFirestoreSwift se agregaron a FirebaseFirestore, por lo que ya no tienes que importar el módulo FirebaseFirestoreSwift para acceder a esas APIs.

Como todas las extensiones de Swift ahora forman parte de los módulos principales, los SDK de extensión ya no son obligatorios y están obsoletos. Incluir o usar los SDK de extensiones de Swift generará una advertencia del compilador y, a partir de febrero de 2024, dejaremos de lanzar las extensiones de Swift por completo.

★ Nota: Todas las versiones actuales o anteriores de las extensiones de Swift seguirán funcionando. Sin embargo, te recomendamos que migres la app para usar las APIs de Swift desde el módulo principal para asegurarte de seguir recibiendo correcciones y aprovechar los cambios y las funciones nuevas.

Fechas importantes de este cambio

En octubre de 2023

Los SDK de extensión de Swift se combinaron en los SDK principales y, luego, los SDK principales dejaron de estar disponibles. Consulta las notas de la versión 10.17.0 en las que se anuncia este cambio.

Ahora puedes usar las APIs del SDK de extensiones de Swift directamente desde los módulos principales del SDK. El uso de los SDKs de extensiones seguirá siendo posible hasta la próxima versión principal, pero generará una advertencia de baja cuando se usen.

A partir de febrero de 2024

Dejaremos de lanzar versiones nuevas de las extensiones de Swift y quitaremos las extensiones de Swift del Package.swift de Firebase. Las versiones anteriores seguirán funcionando, pero no recibirán actualizaciones.

Cómo realizar la migración para usar APIs nativas de Swift desde el módulo principal

Si actualmente no usas los SDK de extensiones de Swift, no es necesario que realices ninguna acción. Si usas un SDK de extensión de Swift, realiza los siguientes cambios en tu proyecto.

Cambios en el lugar de trabajo

Swift Package Manager

Después de actualizar Firebase a la versión 10.17.0 o posterior, navega a la sección Frameworks, Bibliotecas y Contenido incorporado en la pestaña General de la configuración de tu destino y quita el SDK de extensión de Swift (como FirebaseFirestoreSwift).

CocoaPods

Después de actualizar Firebase a la versión 10.17.0 o posterior, navega a tu Podfile y quita la línea correspondiente a la dependencia de tu proyecto que permite agregar la sección de frameworks a tu destino y quita el SDK de extensión de Swift (como Pod FirebaseFirestoreSwift) Luego, vuelve a ejecutar el comando pod install.

Distribución de Zip y Carthage

Después de actualizar Firebase a la versión 10.17.0 o posterior, quita cualquier extensión de Swift xcframeworks del proyecto (como FirebaseFirestoreSwift.xcframework).

Cambios en el código fuente

Para todos los SDK de extensiones de Swift que usaste anteriormente, realiza las siguientes acciones:

  1. Borra las sentencias de importación que hagan referencia al SDK de la extensión de Swift. Si el SDK principal no se importó por separado, deberás borrar Swift al final de la línea para reemplazar la importación de extensión de Swift por la importación principal del SDK.
  2. Si usaste el espacio de nombres explícito de los módulos de Swift para hacer referencia a cualquier tipo de SDK de extensión de Swift, deberás reemplazarlos por el SDK principal correspondiente. Por ejemplo, deberás cambiar el nombre de FirebaseFirestoreSwift.QueryPredicate a FirebaseFirestore.QueryPredicate.