es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La ventana emergente de acceso a la ubicación de la PWA de iOS no se muestra.

He construido una PWA que llama a la API de JavaScript navigator.geolocation.getCurrentPosition, que solicita el acceso a la ubicación al usuario cuando se establece el permiso de Safari en “Preguntar”.
Este es el comportamiento correcto y funciona como se espera cuando se abre en Safari.

Sin embargo, cuando se agrega a la pantalla de inicio y se ejecuta en modo de visualización “standalone”, la alerta de ubicación no se abre en mi teléfono (iPhone 13 mini / iOS 15.1.1). Y la llamada nunca falla.
Luego, si cambio de la PWA a Safari, la alerta de ubicación / solicitud aparece repentinamente en Safari. Así que parece que la alerta apunta al “tab” equivocado.
Esto no ocurre si el modo de visualización de la PWA es “navegador” o “minimal-ui”; en ambos casos se comporta normalmente.

Solo puedo replicar esto en mi teléfono (iPhone 13 mini / iOS 15.1.1). También lo he probado en varios teléfonos más antiguos (15.1.1 y 14.7), así como en varios emuladores, y todos se comportan como se espera.
Es posible que esta sea una configuración oscura en mi teléfono, pero parece muy mala como un error de iOS Safari.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Problema con el acceso a ubicación de PWA en iPhone con iOS 15.1.1

    Descripción del problema

    Se construyó una PWA con una API de javascript navigator.geolocation.getCurrentPosition utilizada para solicitar al usuario el acceso a la ubicación. Cuando la autorización de Safari se configuró en “Preguntar”, la PWA funcionó como se esperaba al abrirse en Safari. Sin embargo, al agregarla a la pantalla de inicio y ejecutarla en modo “autónomo”, el mensaje de solicitud de ubicación no apareció y la llamada nunca se agotó. Al cambiar a Safari, el mensaje de solicitud se mostró repentinamente, lo que indica que la alerta estaba dirigida a la pestaña equivocada. Este comportamiento no se observó en los modos de visualización “navegador” o “minimal-ui”.

    Entorno de pruebas

    El problema solo se pudo replicar en un iPhone 13 mini con iOS 15.1.1. Otros teléfonos más antiguos y emuladores se comportaron según lo esperado.

    Posible causa

    Se sospecha que el problema es un error de Safari en iOS, ya que no se puede reproducir en otros dispositivos y emuladores.

    Recomendación

    Como solución temporal, implemente un mecanismo de respaldo para proporcionar una ubicación predeterminada o pedir al usuario que ingrese su ubicación manualmente. Alternativamente, utilice un modo de visualización diferente hasta que se resuelva el problema.

    A largo plazo, monitoree los foros de desarrolladores de Apple para ver si hay actualizaciones o soluciones.

Comments are closed.