2012-11-26 6 views
5

Ich möchte eine Funktionalität erreichen, in der ich das GPS für die Standortaktualisierungen verwende und wenn der Benutzer nicht bewegt, möchte ich die GPS-Updates pausiert werden. gemäß den "Der Aufenthalt auf dem richtigen Weg mit Location Services" Video, das habe ich dies:pausesLocationUpdatesAutomatisch in iOS 6 funktioniert nicht wie erwartet

//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]; 

Delegierte:

- (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]; 
} 

ich nicht das gewünschte Verhalten und die Delegierten „didPause bekommen haben .. "und" didResume ... "wurden nicht einmal angerufen, als das Gerät im Leerlauf war.

Idealerweise müssen GPS-Updates gestoppt und fortgesetzt werden, abhängig vom Zustand des Geräts und CLActivityType, aber dies ist hier nicht der Fall.

Kann mir jemand helfen, was mache ich falsch?

Vielen Dank im Voraus.

Antwort

2

Die Pause sollte auftreten, wenn Sie das Gerät etwa 15 Minuten an einem Ort belassen.

+1

Quelle bitte? – androniennn

+1

ja bitte Quelle? – loki

+1

@androniennn Ich habe das mehrmals versucht. Basierend auf meiner Erfahrung ist die 16-17 Minuten, was passiert. Anscheinend will Apple nicht, dass Entwickler diese Zahlen kennen. – Honey

0

Sie sollten wahrscheinlich den Standort der Region verwenden, wenn locationManagerDidPauseLocationUpdates: listener aufgerufen wird. Bitte beachten Sie Update auf die erste Antwort in diesem Beitrag: iOS 6 AutoPause doesn't work

Verwandte Themen