Este repositorio contiene el código fuente de todos los SDK de Firebase de la plataforma Apple, excepto FirebaseAnalytics.
Firebase es una plataforma de desarrollo de aplicaciones con herramientas que te ayudarán a crear, hacer crecer y monetizar tu aplicación. Puede encontrar más información sobre Firebase en el sitio web oficial de Firebase.
Consulte las subsecciones siguientes para obtener detalles sobre los diferentes métodos de instalación. Cuando esté disponible, se recomienda instalar cualquier biblioteca con un sufijo Swift
para obtener la mejor experiencia al escribir su aplicación en Swift.
Instalación de módulo estándar
Administrador de paquetes rápido
Instalación desde el repositorio de GitHub
Cartago experimental
Para obtener instrucciones sobre la instalación del pod estándar, visite: https://firebase.google.com/docs/ios/setup.
Las instrucciones para la compatibilidad con Swift Package Manager se pueden encontrar en el archivo SwiftPackageManager.md Markdown.
Estas instrucciones se pueden utilizar para acceder al repositorio de Firebase en otras ramas, etiquetas o confirmaciones.
Consulte la Referencia de sintaxis de Podfile para obtener instrucciones y opciones sobre cómo anular las ubicaciones de origen del pod.
Todos los lanzamientos oficiales están etiquetados en este repositorio y disponibles a través de CocoaPods. Para acceder a una instantánea de origen local o a una rama no publicada, utilice directivas Podfile como las siguientes:
Para acceder a FirebaseFirestore a través de una sucursal:
pod 'FirebaseCore', :git => 'https://github.com/firebase/firebase-ios-sdk.git', :branch => 'main'pod 'FirebaseFirestore', :git => 'https:// github.com/firebase/firebase-ios-sdk.git', :branch => 'principal'
Para acceder a FirebaseMessaging a través de una versión desprotegida del repositorio firebase-ios-sdk:
pod 'FirebaseCore', :ruta => '/ruta/a/firebase-ios-sdk'pod 'FirebaseMessaging', :ruta => '/ruta/a/firebase-ios-sdk'
Las instrucciones para la distribución experimental de Carthage se pueden encontrar en Carthage.md.
Para obtener detalles sobre el uso de Firebase desde un Framework o una biblioteca, consulte firebase_in_libraries.md.
Para desarrollar software Firebase en este repositorio, asegúrese de tener al menos el siguiente software:
Xcode 15.2 (o posterior)
CocoaPods sigue siendo la forma canónica de desarrollo, pero gran parte del repositorio ahora admite el desarrollo con Swift Package Manager.
Instale lo siguiente:
CocoaPods 1.12.0 (o posterior)
Los CocoaPods generan
Para el grupo que desea desarrollar:
pod gen Firebase{nombre aquí}.podspec --local-sources=./ --auto-open --platforms=ios
Nota: Si la caché de CocoaPods no está actualizada, es posible que deba ejecutar pod repo update
antes del comando pod gen
.
Nota: Configure la opción --platforms
en macos
o tvos
para desarrollar/probar esas plataformas. Desde 10.2, Xcode no maneja adecuadamente los espacios de trabajo CocoaPods multiplataforma.
Firestore tiene un proyecto Xcode autónomo. Consulte el archivo Markdown de Firestore/README.
pod gen {name here}.podspec --local-sources=./ --auto-open --platforms=ios
Marque la casilla Mac en la configuración de compilación de App-iOS
Firme la aplicación en la pestaña Configuración, firma y capacidades
Haga clic en Pods en el Administrador de proyectos
Agregue firma a la aplicación host de iOS y a los objetivos de prueba unitaria
Seleccione el esquema Unidad-unidad
Ejecútelo para compilar y probar.
Alternativamente, deshabilite el inicio de sesión en cada destino:
Vaya a la pestaña Configuración de compilación
Haga clic +
Seleccione Add User-Defined Setting
Agregue la configuración CODE_SIGNING_REQUIRED
con un valor de NO
Para habilitar esquemas de prueba: ./scripts/setup_spm_tests.sh
open Package.swift
o haga doble clic en Package.swift
en Finder.
Xcode abrirá el proyecto.
Elija un esquema para construir una biblioteca o ejecutar un conjunto de pruebas
Elija una plataforma de destino seleccionando el destino de la ejecución junto con el esquema
Consulte el archivo AddNewPod Markdown para obtener más detalles.
Para obtener información sobre cómo administrar encabezados e importaciones, consulte el archivo HeadersImports Markdown.
Para asegurarse de que el código tenga un formato coherente, ejecute el script ./scripts/check.sh antes de crear una solicitud de extracción (PR).
GitHub Actions verificará que cualquier cambio en el código se realice de manera compatible con el estilo. Instale clang-format
y mint
:
instalación de cerveza formato clang@19instalación de cerveza mint
Seleccione un esquema y presione Comando-u para construir un componente y ejecutar sus pruebas unitarias.
Para ejecutar las aplicaciones de muestra y las pruebas de integración, necesitará un archivo GoogleService-Info.plist
válido. El proyecto Firebase Xcode contiene archivos plist ficticios sin valores reales, pero se pueden reemplazar con archivos plist reales. Para obtener sus propios archivos GoogleService-Info.plist
:
Vaya a la consola de Firebase
Crea un nuevo proyecto de Firebase, si aún no tienes uno
Para cada aplicación de muestra que quieras probar, crea una nueva aplicación de Firebase con el identificador del paquete de la aplicación de muestra (por ejemplo, com.google.Database-Example
).
Descargue el GoogleService-Info.plist
resultante y agréguelo al proyecto Xcode.
Para obtener instrucciones sobre la generación de informes de cobertura, consulte el archivo scripts/code_coverage_report/README Markdown.
Consulte las secciones siguientes para obtener instrucciones especiales para esos componentes.
Para el desarrollo específico de Firebase Auth, consulte el archivo README de muestra de autenticación para obtener instrucciones sobre cómo crear y ejecutar el pod FirebaseAuth junto con varios ejemplos y pruebas.
Las pruebas de integración de la base de datos de Firebase se pueden ejecutar en un emulador de base de datos que se ejecuta localmente o en una instancia de producción.
Para ejecutar en una instancia de emulador local, invoque ./scripts/run_database_emulator.sh start
antes de ejecutar la prueba de integración.
Para ejecutarlo en una instancia de producción, proporcione un GoogleServices-Info.plist
válido y cópielo en FirebaseDatabase/Tests/Resources/GoogleService-Info.plist
. Su regla de seguridad debe configurarse como pública mientras se ejecutan las pruebas.
Firebase Dynamic Links está obsoleto y no debe usarse en proyectos nuevos. El servicio se cerrará el 25 de agosto de 2025.
Consulte nuestra documentación de preguntas frecuentes sobre la obsolescencia de vínculos dinámicos para obtener más orientación.
Para el desarrollo específico de Firebase Performance Monitoring, consulte el archivo README de rendimiento para obtener instrucciones sobre cómo crear el SDK y el archivo README de Performance TestApp para obtener instrucciones sobre cómo integrar Performance con la aplicación de prueba de desarrollo.
Para ejecutar las pruebas de integración de almacenamiento, siga las instrucciones en StorageIntegration.swift.
Las notificaciones automáticas solo se pueden enviar a ID de aplicaciones especialmente aprovisionadas en el portal para desarrolladores. Para probar la recepción de notificaciones automáticas, deberá:
Cambie el identificador de paquete de la aplicación de muestra por algo que posea en su cuenta de desarrollador de Apple y habilite esa ID de aplicación para notificaciones automáticas.
También deberá cargar su certificado o clave de autenticación de proveedor de APN en Firebase Console en Configuración del proyecto > Mensajería en la nube > [Su aplicación Firebase] .
Asegúrese de que su dispositivo iOS esté agregado a su portal de desarrolladores de Apple como dispositivo de prueba.
El simulador de iOS no puede registrarse para recibir notificaciones remotas y no recibirá notificaciones automáticas. Para recibir notificaciones automáticas, siga los pasos anteriores y ejecute la aplicación en un dispositivo físico.
Consulte el archivo README de Vertex AI para Firebase para obtener instrucciones sobre cómo crear y probar el SDK.
Firebase proporciona soporte beta oficial para macOS, Catalyst y tvOS. visionOS y watchOS cuentan con el respaldo de la comunidad. Gracias a las contribuciones de la comunidad para muchos de los RP multiplataforma.
En este momento, la mayoría de los productos de Firebase están disponibles en las plataformas de Apple. Todavía existen algunas lagunas, especialmente en visionOS y watchOS. Para obtener detalles sobre la matriz de soporte actual, consulte este cuadro en la documentación de Firebase.
Cuando es compatible, visionOS funciona como se esperaba con la excepción de Firestore a través de Swift Package Manager donde se requiere usar la distribución fuente.
Para habilitar la distribución fuente de Firestore, salga de Xcode y abra el proyecto deseado desde la línea de comando con la variable de entorno FIREBASE_SOURCE_FIRESTORE
: open --env FIREBASE_SOURCE_FIRESTORE /path/to/project.xcodeproj
. Para volver a utilizar la distribución binaria de Firestore, salga de Xcode y abra Xcode como de costumbre, sin la variable de entorno.
Gracias a las contribuciones de la comunidad, muchos de los SDK de Firebase ahora compilan, ejecutan pruebas unitarias y funcionan en watchOS. Vea el ejemplo de la aplicación Independent Watch.
Tenga en cuenta que Firebase no admite oficialmente watchOS. Si bien podemos detectar problemas básicos de pruebas unitarias con GitHub Actions, puede haber algunos cambios en los que el SDK ya no funcione como se esperaba en watchOS. Si encuentra esto, presente un problema.
Durante la configuración de la aplicación en la consola, es posible que llegue a un paso que menciona algo como "Verificar si la aplicación se ha comunicado con nuestros servidores". Esto depende de Analytics y no funcionará en watchOS. Es seguro ignorar el mensaje y continuar ; el resto de los SDK funcionarán como se esperaba.
watchOS tiene soporte limitado. Debido a las restricciones de watchOS, las excepciones de máquina y los fallos de señal no se registran. (Los fallos en SwiftUI se generan como excepciones de máquina, por lo que no se registrarán)
Gracias a las contribuciones de la comunidad, FirebaseCombineSwift admite el marco Combine de Apple. Este módulo está actualmente en desarrollo y aún no es compatible para su uso en entornos de producción. Para obtener más detalles, consulte los documentos.
Consulte la hoja de ruta para obtener más información sobre los planes e instrucciones de código abierto del SDK de Apple de Firebase.
Consulte Contribuir para obtener más información sobre cómo contribuir al SDK de Apple de Firebase.
El contenido de este repositorio está bajo la licencia Apache, versión 2.0.
Su uso de Firebase se rige por los Términos de servicio de los Servicios de Firebase.