Más información sobre Firebase en plataformas de Apple

A medida que desarrollas tu app para Apple con Firebase, es posible que encuentres conceptos que no conoces o que son específicos de Firebase. El objetivo de esta página es responder tus preguntas o dirigirte a recursos para obtener más información.

Si tienes preguntas sobre un tema que no se aborda en esta página, visita una de nuestras comunidades en línea. Además, actualizaremos esta página con temas nuevos de forma periódica. Vuelve a consultarla para ver si agregamos el tema sobre el que quieres aprender.

Compatibilidad de las bibliotecas de Firebase por plataforma

En la siguiente tabla, se describe la compatibilidad de las bibliotecas de Firebase con cada plataforma de Apple. Por el momento, watchOS solo cuenta con la asistencia de la comunidad. Consulta el repositorio del SDK de Firebase para plataformas de Apple en GitHub si necesitas instrucciones de instalación y detalles sobre los problemas conocidos.

Biblioteca iOS macOS Mac
Catalyst
tvOS watchOS
A/B Testing
Analytics v8.9.0+ v8.9.0+ v8.9.0+
Analytics sin ID de anuncio v8.9.0+ v8.9.0+ v8.9.0+
Conversión en el dispositivo de Analytics
Proveedor de DeviceCheck y de Verificación de aplicaciones watchOS 9 y versiones posteriores
Proveedor de App Attest y de Verificación de aplicaciones iOS 14 y versiones posteriores macOS 11 y versiones posteriores Catalyst 14 y versiones posteriores tvOS 15 y versiones posteriores watchOS 9 y versiones posteriores
Proveedores personalizados y de depuración de Verificación de aplicaciones
App Distribution
Authentication parcial parcial parcial parcial
Cloud Firestore
Cloud Functions
Cloud Messaging
Cloud Storage
Crashlytics
Dynamic Links
Instalaciones de Firebase
Firebase ML Model Downloader
In‑App Messaging
Performance Monitoring
Realtime Database
Remote Config

App Clips

La mayoría de las bibliotecas de Firebase se crearán y ejecutarán en un objetivo de App Clips. Sin embargo, muchas de ellas están restringidas debido a restricciones subyacentes del SO. Estos son algunos de los problemas conocidos:

  • Dynamic Links no puede enviar a los usuarios a un App Clip si presionan un vínculo sin haber instalado la app.
  • Firestore y Realtime Database no pueden cargar datos en App Clips debido a una dependencia subyacente de CFStream.

Consulta el repositorio de Firebase en GitHub para ver la lista completa de problemas conocidos relacionados con los App Clips.

GoogleService-Info.plist

Como parte de agregar Firebase a tu proyecto de Apple, debes incluir el archivo de configuración GoogleService-Info.plist en el proyecto. Si quieres usar varios proyectos de Firebase en una sola app, visita la documentación para configurar varios proyectos.

Consulta la documentación de referencia de Swift para obtener más detalles sobre el proceso de inicialización de apps de Firebase.

Swift Package Manager

Obtén más información sobre la integración de Swift Package Manager en nuestra guía.

Extensiones de Swift

Las extensiones de Swift del SDK de Firebase para plataformas de Apple son complementos pequeños y de código abierto para las bibliotecas existentes de Firebase para plataformas de Apple que permiten que tu código use funciones específicas del lenguaje Swift.

Estos son los frameworks de extensiones de Swift disponibles:

  • FirebaseAnalyticsSwift
  • FirebaseDatabaseSwift
  • FirebaseFirestoreSwift
  • FirebaseInAppMessagingSwift (beta)
  • FirebaseRemoteConfigSwift

A partir de Firebase 9.0, algunas bibliotecas de Firebase, incluidas sus interfaces de Objective-C, se implementan en Swift y proporcionan funciones nativas de Swift sin incluir una dependencia auxiliar. Los siguientes SDK proporcionan APIs de Swift nativas sin necesidad de un SDK de extensión:

  • FirebaseFunctions
  • FirebaseStorage

Puedes instalar extensiones de Swift con CocoaPods o Swift Package Manager. Para instalar una extensión de Swift con CocoaPods, inclúyela en tu Podfile como se muestra a continuación.

Con Swift Package Manager, importa las bibliotecas de las extensiones de Swift que quieras directamente desde el mismo repositorio que el SDK de Firebase para plataformas de Apple.

SwiftUI

Firebase tiene compatibilidad total con SwiftUI, pero la configuración será un poco diferente a la de las apps de UIKit para lograr que Firebase funcione correctamente en un entorno completo de SwiftUI. Consulta esta entrada de blog de Peter Friese para obtener más detalles.

Las aplicaciones de SwiftUI deben inhabilitar el swizzling debido a un problema conocido. Consulta la sección sobre el swizzling del delegado de la app para obtener más información.

Swizzling del delegado de la app

Firebase aplica swizzling a algunos métodos de la clase delegada de tu app para conectar automáticamente ciertos servicios de Firebase a las devoluciones de llamada del SO, como FCM y el token de APNS. Para inhabilitar el swizzling en tu app, agrega la marca FirebaseAppDelegateProxyEnabled al archivo Info.plist de la app y configúrala como NO.

Cuatro productos de Firebase usan el swizzling del delegado de apps: Analytics, App Distribution, Authentication y FCM. Si inhabilitaste el swizzling en tu aplicación y usas alguno de los siguientes productos, consulta la guía específica del producto para obtener información sobre cómo usarlo sin el swizzling:

Compatibilidad con iOS 14

iOS 14 incluye cambios nuevos en los permisos del usuario relacionados con el identificador de publicidad. Consulta la guía de preparación para iOS 14 si necesitas más detalles sobre si tu app podría verse afectada.

Asistencia continua para Objective-C

Para facilitar el mantenimiento de la documentación de nuestras plataformas de Apple, Firebase decidió concentrarse en los fragmentos y las muestras de código de Swift en nuestras guías y otros materiales para desarrolladores. Los fragmentos de Objective-C se quitarán de nuestras guías a partir del 1 de enero de 2024. Seguiremos actualizando la documentación de referencia de Objective‐C para todos los productos de Firebase.

Recursos de código abierto para los SDK de Firebase para plataformas de Apple

Firebase admite el desarrollo de código abierto, y motivamos las contribuciones y los comentarios de la comunidad.

SDK de Firebase para plataformas de Apple

Todos los SDK de Firebase para plataformas de Apple, excepto Analytics, se desarrollan como bibliotecas de código abierto en nuestro repositorio público de Firebase en GitHub.

FirebaseUI

FirebaseUI es un conjunto de bibliotecas de utilidades basadas en Firebase, que incluye un flujo directo de IU para autenticación y utilidades de datos para Cloud Firestore y Realtime Database. Consulta más detalles sobre FirebaseUI en nuestra página de GitHub.

Muestras de inicio rápido

Firebase conserva una colección de muestras de inicio rápido para la mayoría de las APIs de Firebase en iOS. Consulta estas muestras en nuestro repositorio público de inicio rápido de Firebase en GitHub.

Puedes abrir cada muestra de inicio rápido en Xcode y, luego, ejecutarla en un dispositivo móvil o en un simulador. También puedes usarlas como código de ejemplo para usar los SDK de Firebase.