Насколько малы ожидаемые изменения?
Возможно, вам следует установить максимальную точность и рассчитать смещение по методу делегата.
Сконфигурируйте менеджер местоположений, чтобы получить егоbest.
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
[locationManager setDistanceFilter:0.0];
А затем метод делегата:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
// Calculate the distance between the two locations
CGFloat distance = [newLocation distanceFromLocation:oldLocation];
if (distance >= MIN_DISPLACEMENT) {
// Do something
} else {
// Do something
}
}
Чтобы получить более точные данные из диспетчера местоположений, установите соответствующие ключи для UIRequiredDeviceCapabilities (location-services, gps) в Info.plist.