2011-09-16 7 views
6

Mi aplicación de iPhone utiliza servicios de ubicación. Cuando lo instalé y lo ejecuté por primera vez, muestra un diálogo que pregunta si el usuario quiere permitir el uso de los servicios de ubicación por un momento y desaparece inmediatamente. Esto sucede pocas veces seguidas.Diálogo que pregunta si el usuario desea permitir el uso de los servicios de ubicación aparece y desaparece en iPhone

¿Es un error conocido o estoy haciendo algo mal?

+0

¿Puede publicar algo del código que utiliza el Administrador de ubicaciones? – chown

Respuesta

13

Tuve el mismo problema en mi aplicación que ahora, lo agregaré como respuesta para cualquier persona que busque la pregunta y se encuentre con esta pregunta anterior.

El problema es que si instancia localmente CLLocationManager y le pide que actualice su ubicación, la ventana que solicita el permiso desaparece instantáneamente después de que aparece.

Tienes que hacer que CLLocationManager sea una propiedad (o al menos no debes instanciarlo localmente), entonces funciona.

+0

Tenía el mismo problema, esta respuesta ayudó a –

+0

Tiene razón: eso se debe a que la variable local no está referenciada en ningún otro lado, por lo que ARC la lanzará y se desasignará, haciendo que el diálogo desaparezca. Así que haga del CLLocationManager una propiedad o una variable de instancia. –

0

Parece que el sistema operativo le pide que apruebe el uso de servicios de ubicación para la aplicación. No estoy al tanto de ningún problema pendiente que impida que se cierre y vuelva a abrir la forma en que usted describe. Por lo que sé, no tienes ningún control sobre esto, se ejecutará automáticamente cuando tu aplicación active un método basado en la ubicación (por ejemplo, -startUpdatingLocation o -startMonitoringForRegion).

Es posible que tenga otra vista conflictiva que intenta robar la vista desde la alerta del sistema operativo, pero sin ningún código sería difícil de decir. Espero que esto ayude.

+0

Sí, eso es exactamente lo que sucede. El problema es que tengo diferentes vistas en las que uso servicios de ubicación, pero ninguna se ejecuta con la carga de la aplicación. La vista principal y primera que carga no usa servicios de ubicación. – Misha

+0

Pensaría en deshabilitar las cosas de tu ubicación en cada lugar, y trabajar en volver a agregarlas una por una hasta que rastreas quién te está dando problemas. Puede restablecer su Simulador a la configuración de fábrica y restablecerá los servicios de ubicación activados para la aplicación. Eso debería ayudarte a probarlo. –

Cuestiones relacionadas