ロケーションの更新に GPS を使用する機能を実現したいと考えており、ユーザーが動いていないときは GPS の更新を一時停止したいと考えています。「 Staying on track with Location services」ビデオに従って、私はこれを行いました:
//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];
代表者:
- (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];
}
望ましい動作が得られず、デバイスがアイドル状態のときにデリゲート「didPause ..」と「didResume ...」が呼び出されませんでした。
理想的には、デバイスの状態と CLActivityType に応じて GPS 更新を停止および再開する必要がありますが、ここではそうではありません。
誰が私を助けることができますか、私は何が間違っていますか?
前もって感謝します。