2012-04-23 20 views
5

He estado trabajando en una aplicación de seguimiento de vehículos, que depende de los servicios de ubicación central. La aplicación está en fase de prueba, el viernes pasado dejó de funcionar repentinamente, no hubo actualizaciones de ubicación (como si el GPS no funcionara), incluso cuando estaba en mi automóvil y moviéndome a una velocidad de 30 mph o más. Para todo el día, la aplicación no funcionó en absoluto.iPhone GPS - No recibo actualizaciones de ubicación válidas

Revisé mis registros, no hubo ni una sola actualización de ubicación durante todo el tiempo. Sin embargo, en ese momento la aplicación Mapas funcionaba perfectamente bien, lo que me hace pensar que no hubo problemas con iOS/GPS-Module/Signal. El sábado por la mañana (al día siguiente), la misma aplicación volvió a funcionar sin cambios en el código o la configuración, ni volvió a instalarse.

He estado trabajando en esta aplicación durante los últimos dos meses y esta es la 3ª vez que enfrenté este problema, no puedo rastrear la causa porque sin ningún tipo de cambios la misma construcción comienza a funcionar nuevamente. Tuve este problema en dos dispositivos iPhone 3gs (ios 4.3) y iPhone 4 (ios 5.1).

Entonces, ¿hay alguien más que experimentaron algún problema similar, o cualquier sugerencia sobre lo que podría ser la causa raíz o cualquier sugerencia para realizar un seguimiento de estas cuestiones ...

... ACTUALIZACIÓN ... Algunas actualizaciones: la afirmación anterior en la pregunta "No recibo ni una sola actualización" resulta ser incorrecta, ya que recibo muy pocas actualizaciones de ubicación con la peor precisión de ubicación, como +/- 200m (con velocidad = -1 y curso = - 1). Pero en mi aplicación necesito al menos +/- 50m de precisión. Tenía un código para descartar actualizaciones de ubicación con poca precisión, lo que me hizo pensar que no había actualizaciones.

Gracias.

+0

Por cierto, puede editar su pregunta. – DanSkeel

+0

Hola @zee, también estoy enfrentando este problema, ¿pueden compartir cómo resolvieron esto? –

+0

@Mohittomar No pude resolverlo (simplemente lo ignoré, ya que ocurre muy raramente). También le hice la misma pregunta a Apple (como hace 4 años) y todavía estoy esperando su respuesta. – Zee

Respuesta

0

¿La aplicación de alguna manera ha perdido el permiso del sistema operativo para usar el hardware del GPS? ¿Está revisando si los servicios de localización están habilitados al marcar +[CLLocationManager authorizationStatus]? Sé que si eliminas y vuelves a compilar una aplicación en un dispositivo, debes volver a aprobar el acceso a la ubicación. ¿Quizás lo negaste accidentalmente esa vez?

+0

Gracias por la respuesta, pero no es el caso ... como escribí en la pregunta, la aplicación comienza a funcionar sin ningún cambio en el código/configuración o lo que sea ... lo cual es realmente extraño. Me encontré con este problema dos veces mi cliente en otra experiencia del continente una vez. – Zee

0

Si está utilizando el "servicio de ubicación de cambio significativo", podría ser interesante verificar que las ubicaciones donde no recibió ninguna actualización tengan señal de teléfono. Creo que el servicio está utilizando el cambio celular y no el GPS para activar el evento.

+0

No, ese no es el caso, todo funciona bien, excepto el GPS. Recibo muy pocas actualizaciones de ubicación con la peor precisión de ubicación, como +/- 200 m. Pero en mi aplicación necesito al menos +/- 50m de precisión. – Zee

0

Hey puede establecer la precisión de localización con

self.locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation; 
self.locationManager.distanceFilter = 10.0f; 
self.locationManager.headingFilter = 0.5; 

Asegúrese de que están obligando a la actualización de la ubicación mediante la actualización del gerente de locación

[_locationManager startUpdatingLocation]; 

Usted está prob utilizando el método didUpdateUserLocation para obtener su ubicación actualizaciones si ese no es el caso, entonces use ese método para obtener coordenadas de ubicación cuando se actualice la ubicación.

Asegúrese de que su aplicación no se bloquea y entra en modo inactivo esto detendrá ubicación updates.You puede parar esto usando la siguiente

[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 

Esperanza esta ayuda con algunos de sus problemas de menor importancia.

+0

Supongo que no leyó la pregunta cuidadosamente antes de responder, además, supongo (podría estar equivocado) que no entiende la información real de setIdleTimerDisabled, puede encontrar el siguiente texto en documentos de iOS. – Zee

+1

_Importante Debe establecer esta propiedad solo si es necesario y debe asegurarse de restablecerla a NO cuando ya no exista la necesidad. La mayoría de las aplicaciones deben permitir que el sistema apague la pantalla cuando transcurra el tiempo de inactividad. Esto incluye aplicaciones de audio. Con el uso adecuado de los Servicios de sesión de audio, la reproducción y la grabación no se interrumpen cuando la pantalla se apaga. Las únicas aplicaciones que deberían desactivar el temporizador inactivo son aplicaciones de mapas, juegos o programas similares con interacción esporádica del usuario. – Zee

+0

Por cierto, lo estaba usando en una aplicación de mapas. Lea su pregunta, pensó mal que estaba usando un mapa para hacer el seguimiento. – Mou

Cuestiones relacionadas