Прежде всего вам нужен класс, реализующий протокол CLLocationManagerDelegate
.Поэтому, по крайней мере, вам нужно реализовать метод:
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
...
}
После этого создайте экземпляр CLLocationManager, установите делегат и начните обновлять расположение:
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self; //SET YOUR DELEGATE HERE
locationManager.desiredAccuracy = kCLLocationAccuracyBest; //SET THIS TO SPECIFY THE ACCURACY
[locationManager startUpdatingLocation];
После вызова startUpdatingLocation
Ваша реализация locationManager: didUpdateToLocation: fromLocation
вызывается, как только происходит исправление местоположения.Параметр newLocation
содержит ваше фактическое местоположение.НО менеджер местоположений исправит местоположение как можно скорее, даже если указанная вами точность не указана.В этом случае вы должны проверить точность нового местоположения самостоятельно.
cheers, anka