Я работаю над приложением, где он проверяет ваше местоположение каждую минуту или около того, чтобы узнать, изменилось ли ваше местоположение. Я имитирую изменения местоположения, используя имитируемое местоположение в 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);
}
} ];
}
Независимо от того, сколько раз я изменил местоположение, он просто дает мне одно и то же место каждый раз, а не правильный. Может ли кто-нибудь сказать мне, что я делаю неправильно?