2012-01-11 3 views
0

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

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

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

+0

Как я пропустил это? Благодарю. –

+0

Я рад, что смог помочь ... – AAV

1

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

manager.desiredAccuracy = kCLLocationAccuracyKilometer;  

или

manager.desiredAccuracy = kCLLocationAccuracyTenMeters; 

вместо

manager.desiredAccuracy = kCLLocationAccuracyBest; 

и посмотреть, если это делает каких-либо изменений.

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

Смежные вопросы