iPhone GPS en segundo plano nunca se reanuda después de una pausa

Mi aplicación necesita realizar un seguimiento de los cambios de ubicación del usuario en segundo plano y funciona bien siempre que el usuario se mueva. Cuando el usuario se detiene yCLLocationManager hace una pausa después de 10-20 minutos más o menos. Está indicado por esta notificación:

-(void)locationManagerDidPauseLocationUpdates:(CLLocationManager *)manager{}

Y esto también está bien conmigo. Genial, guardo un poco de batería, etc.

El problema es eseCLLocationManager nunca se despierta cuando el usuario comienza a moverse de nuevo y sigueLos métodos de delegado nunca se activan hasta que coloque mi aplicación en primer plano. (se pone activo):

//Never called back after CLLocationManager pauses:
-(void)locationManagerDidResumeLocationUpdates:(CLLocationManager *)manager{}
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{}

Por que eslocationManagerDidResumeLocationUpdates nunca llamado después de que el dispositivo comienza a moverse de nuevo? ¿No debería el GPS reanudar automáticamente también (ya que se pausó automáticamente)? ¿Hay una manera de reanudar el GPS sin la interacción del usuario?

La aplicación ha declarado lo siguiente en el archivo Info.plist:

Y mi configuración de CLLocationManager es:

locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
[locationManager setActivityType:CLActivityTypeFitness];
//I WANT pauses to save some battery, etc... That is why following line is commented out (default)
 //[locationManager setPausesLocationUpdatesAutomatically:NO];
 locationManager.distanceFilter = kCLLocationAccuracyNearestTenMeters;
 locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
 [locationManager startUpdatingLocation];

Respuestas a la pregunta(3)

Su respuesta a la pregunta