didUpdateToLocation никогда не вызывается - PullRequest
0 голосов
/ 11 января 2012

Я использую симулятор и мое устройство для проверки этого, но независимо от того, что я делаю, didUpdateToLocation никогда не вызывается. Я попытался изменить свое местоположение в симе, выключить и снова включить мои службы определения местоположения на моем телефоне, чтобы заставить телефон искать новое местоположение ... ничего. В моем viewDidLoad () я запустил CLLocationManager следующим образом:

CLLocationManager *manager = [[CLLocationManager alloc] init];

if (![CLLocationManager locationServicesEnabled])    
{
    UIAlertView *servicesDisabledAlert = [[UIAlertView alloc] initWithTitle:@"Location Services Disabled" message:@"You currently have all location services for this device disabled. If you proceed, you will be asked to confirm whether location services should be reenabled." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [servicesDisabledAlert show];

} else {
    manager.desiredAccuracy = kCLLocationAccuracyBest;

    manager.delegate = self;

    [manager startUpdatingLocation];


}

и в методе обновления местоположения у меня это:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{

NSLog(@"NEW LOCATION! Accuracy:[%f]",newLocation.horizontalAccuracy);

}

У кого-нибудь есть идеи, почему это не называется?

Ответы [ 2 ]

2 голосов
/ 11 января 2012

Вы добавили делегата местоположения в свой заголовочный файл?

1 голос
/ 11 января 2012

Я не знаю, в этом ли проблема, но попробуйте

manager.desiredAccuracy = kCLLocationAccuracyKilometer;      

или

manager.desiredAccuracy = kCLLocationAccuracyTenMeters; 

вместо

manager.desiredAccuracy = kCLLocationAccuracyBest;

и посмотрите, если этолюбое изменение.

Настройка желаемой точности на лучшее время в большинстве случаев при тестировании приложений, зависящих от местоположения, на моем iPhone.Особенно, когда вы находитесь в помещении.

...