2011-06-21 11 views
11

Estoy usando el Monitoreo de Región en mi aplicación y me enfrenté a una pregunta que no pude encontrar ninguna respuesta. ¿Cómo funciona el monitoreo de región en modo de fondo?Monitoreo de Región de iOS en Modo de Fondo

Según Localización PG conciencia:

Cada vez que la ubicación actual del usuario cruza una región límite, el sistema genera un evento región apropiada para su aplicación. Si su aplicación ya se está ejecutando, estos eventos van directamente a los delegados de a cualquier objeto actual del administrador de ubicación. Si su aplicación no se está ejecutando, el sistema la inicia en el fondo para que pueda responder.

Ahora, esta pregunta es: está en el modo de suspensión, una región ha entrado en mi aplicación y un disparador debe ser entregado, hace este evento será enviado "directamente" al delegado de:

locationManager:didEnterRegion: 

?? La misma pregunta si la aplicación está en modo de fondo. En otras palabras, ¿hay algún código que deba considerar en modo suspendido y en segundo plano para recibir este evento? o iOS primero lanzará la aplicación, luego enviará el evento al delegado directamente sin necesidad de código BG?

+1

¿Esta pregunta nunca se resuelve para usted? Tengo una respuesta para ti si no. –

+0

¡También me gustaría ayuda con esto! ¡Gracias! – Mathieu

Respuesta

0

Por lo que sé, la monitorización de la región solo funciona con iPhone4 y está basada en el dispositivo que cambia las torres de comunicación. De esta forma, utiliza mucha menos batería que la actualización de ubicación de fondo estándar. Asegúrate de habilitar los modos de fondo apropiados. Mientras implementes ese delegado, deberías estar listo para continuar.

+0

mmmmmm .... que lleva a otra pregunta, puede sonar tonto, pero, ¿el dispositivo de monitoreo regional debe especificar eso en info.plist? En este caso, mi aplicación no se instalará en 3Gs, mientras que esta característica no es esencial (no es una aplicación basada en la ubicación). –

+0

Sí, aún necesita habilitar el seguimiento de ubicación. –

+0

Creo que tienes razón. Lo intenté muchas veces, pero nunca me notificaron que ingresé a la región. Consideraré modificar info.plist. ¡Sin embargo, esto tristemente reducirá mis ventas !. Gracias. –

1

Monitoreo de región Relanza su aplicación cuando ingresa a la región supervisada si está en segundo plano.

sin embargo, debe volver a configurar su administrador de ubicación después de que la aplicación se reinicie.

algo como esto -

if ([launchOptions objectForKey:UIApplicationLaunchOptionsLocationKey]) 
    { 

     NSLog(@"Relaunched due to location update"); 

     NSLog(@"app woke up times ---- %d",ForTest); 

     NSLog(@"Starting the location manager"); 
     self.locmanager = [[CLLocationManager alloc] init]; 
     [self.locmanager startMonitoringForRegion:(CLRegion)*region]; 
     // self.locmanager.pausesLocationUpdatesAutomatically = YES ; 
    } 
-1

enter image description here

hacen posible los modos de fondo en que permiten actualizaciones de ubicación y antecedentes Fetch

+0

Ninguno de estos es requerido. –

Cuestiones relacionadas