나는 위치가 변경되었는지 확인하기 위해 매분 또는 현재 위치를 확인하는 응용 프로그램에서 작업하고 있습니다. xCode에서 시뮬레이션 된 위치를 사용하여 위치 변경을 시뮬레이션하고 있습니다. 처음에는 런던에서 할거야, 그리고 나서 도쿄와 같은 것으로 바꿀 것이라고 업데이트하면, 다시 위치를 확인해야 할 때 런던에 있다고 생각한다.CLLocationManager가 올바른 위치를 반환하지 않습니다.
-(void)recheckLocation{
locationManager = nil;
[recheckLocation invalidate];
locationManager = [[CLLocationManager alloc]init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
geocoder = [[CLGeocoder alloc] init];
[locationManager stopUpdatingLocation];
// Reverse Geocoding
[geocoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks, NSError *error) {
NSLog(@"Found placemarks: %@, error: %@", placemarks, error);
if (error == nil && [placemarks count] > 0) {
placemark = [placemarks objectAtIndex:0];
NSString *Location = [NSString stringWithFormat:@"%@, %@",placemark.locality, placemark.administrativeArea];
recheckLocation = [NSTimer scheduledTimerWithTimeInterval:60.0f target:self selector:@selector(recheckLocation) userInfo:nil repeats:YES];
} else {
NSLog(@"%@", error.debugDescription);
}
} ];
}
위치를 변경 한 횟수에 관계없이 올바른 위치가 아닌 매번 동일한 위치를 제공합니다. 누군가 내가 뭘 잘못하고 있다고 말할 수 있습니까?