2012-11-26 12 views
5

Desidero ottenere una funzionalità in cui utilizzo il GPS per gli aggiornamenti dello loaction e quando l'utente non si muove, voglio che gli aggiornamenti GPS siano in pausa. come da "Rimanere in pista con i servizi di localizzazione" il video, ho fatto questo:pauseLocationUpdatesautomaticamente in iOS 6 non funziona come previsto

//Configure Location Manager 
self.theLocationManager = [[CLLocationManager alloc]init]; 
[self.theLocationManager setDelegate:self]; 
[self.theLocationManager setDesiredAccuracy:kCLLocationAccuracyBest]; 
[self.theLocationManager setActivityType:CLActivityTypeFitness]; 

NSLog(@"Activity Type Set: CLActivityTypeFitness"); 

[self.theLocationManager setPausesLocationUpdatesAutomatically:YES]; 
[self.theLocationManager startUpdatingLocation]; 

Delegati:

- (void)locationManager:(CLLocationManager *)manager 
    didUpdateLocations:(NSArray *)locations 
{ 
    NSLog(@"Started location Updates"); 
} 


- (void)locationManagerDidPauseLocationUpdates:(CLLocationManager *)manager 
{ 
    NSLog(@"Pausing location Updates"); 
} 

- (void)locationManagerDidResumeLocationUpdates:(CLLocationManager *)manager 
{ 
    NSLog(@"Resuming location Updates"); 

    UIAlertView *pop = [[UIAlertView alloc]initWithTitle:@"Info" message:@"Location Updates resumed" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; 
    [pop show]; 
    [pop release]; 
} 

non ho avuto il comportamento desiderato ei delegati "didPause .. "e" didResume ... "non sono stati nemmeno chiamati quando il dispositivo era inattivo.

Idealmente gli aggiornamenti GPS devono fermarsi e riprendere a seconda dello stato del dispositivo e CLActivityType ma non è il caso qui.

Qualcuno può aiutarmi, cosa sto sbagliando?

Grazie in anticipo.

risposta

2

La pausa dovrebbe verificarsi se si lascia il dispositivo nella stessa posizione per circa 15 minuti.

+1

per favore? – androniennn

+1

sì, per favore, fonte? – loki

+1

@androniennn L'ho provato più volte. Sulla base della mia esperienza, i 16-17 minuti sono ciò che accade. Apparentemente Apple non vuole che gli sviluppatori conoscano questi numeri. – Honey

0

Probabilmente si dovrebbe usare la posizione geografica quando locationManagerDidPauseLocationUpdates: listener è chiamato. Si prega di consultare l'aggiornamento alla prima risposta in questo post: iOS 6 AutoPause doesn't work

fonte
Problemi correlati