Preguntas frecuentes y solución de problemas de las plataformas de Apple y Firebase

En esta página, se ofrecen sugerencias y solución de problemas específicos de las plataformas de Apple que puedes encontrar cuando usas Firebase.

¿Tienes otras dificultades o tu problema no se describe en esta página? Asegúrate de consultar las Preguntas frecuentes principales de Firebase para obtener más información general o específica sobre Firebase.

También puedes consultar el repositorio de GitHub del SDK de Firebase para plataformas de Apple si necesitas una lista actualizada de los problemas informados y cómo solucionarlos. Te recomendamos que también compartas tus propios problemas relacionados con el SDK de Firebase para plataformas de Apple.

Firebase admite hasta dos versiones principales de Xcode, sin incluir las versiones que Apple ya no admite. Por ejemplo, a partir de marzo de 2019, Apple exigía al menos iOS 12 en todas las apps, lo que significa que se quitó la compatibilidad con Xcode 9 y Xcode 10 era la única versión principal compatible.

Los cambios en la compatibilidad de versiones menores específicas o de parche de Xcode (por ejemplo, de 9.2.0 a 9.4.1) se determinan según las necesidades del SDK de Firebase para plataformas de Apple y una encuesta sobre el uso de los desarrolladores. Estos cambios se reflejan en las notas de la versión del SDK de Firebase para plataformas de Apple y en la página de configuración del SDK.

Para ver la versión mínima de Xcode que admite el SDK, consulta los requisitos que aparecen en Agrega Firebase al proyecto de Apple.

La compatibilidad de Firebase para las versiones beta de Xcode está disponible según el “mejor esfuerzo”. Los desarrolladores pueden realizar un seguimiento de los problemas y enviarlos al repositorio del SDK de Firebase para plataformas de Apple en GitHub.

Actualiza tu dependencia de Firebase a la versión 9.6.0 o a una posterior y agrega la [capacidad de uso compartido de Keychain](/docs/ios/troubleshooting-faq#macos-keychain-sharing) a tu destino.

Los SDKs de Firebase utilizan Keychain para almacenar información, como el ID de instalación de Firebase que se usa en FCM. Sin el acceso a Keychain, es posible que los SDKs de Firebase no funcionen correctamente. El llavero de macOS se comporta de manera diferente que el de iOS, que se usa en otras plataformas (iOS, tvOS, macCatalyst y watchOS).

En macOS, las apps usan un llavero compartido que pueden modificar otras apps y procesos. A diferencia de iOS, no hay un llavero de zona de pruebas al que la app tenga acceso implícito. Por lo tanto, cuando una app para Mac interactúa con el llavero, el sistema le solicita al usuario acceso, ya que la app puede estar modificando un elemento del llavero que no creó. Para solucionar esta discrepancia, Firebase consulta el llavero con la clave kSecUseDataProtectionKeychain, que le indica a la app que consulte un elemento del llavero que es parte de un grupo de acceso del llavero (este es el comportamiento predeterminado en otras plataformas). La app necesita la función de uso compartido de Keychain para sintetizar un grupo de acceso que se pueda compartir entre sus destinos, lo que le otorga permiso a la app para acceder libremente a los elementos del llavero en el grupo de acceso.

Para obtener más información, consulta la documentación de Keychain de Apple.

Apple presentó un límite de 50 entradas LSApplicationQueriesSchemes en archivos Info.plist. En 2015, Apple presentó LSApplicationQueriesSchemes para limitar la cantidad de consultas de URL que podía hacer cada aplicación. Con el lanzamiento de Xcode 13, se aplican estos límites, mientras que en Xcode 12 y en las versiones anteriores no había un límite efectivo para la cantidad de esquemas.

Algunos productos de Firebase, como Firebase Authentication y Firebase Dynamic Links, requieren el uso de esquemas de URL personalizados para redireccionar a tu aplicación. Estas URLs cumplen con un esquema de URL conciso y coherente que no debe contabilizarse significativamente en el límite del esquema de 50 vínculos.

Ten en cuenta que para las apps que continúan registrando más de 50 LSApplicationQueriesSchemes, se ignorarán algunos esquemas de forma silenciosa. Es posible que la app no pueda ejecutar ciertos vínculos directos, según el orden en el que se agregaron.