2015-03-15 3 views
0

Я пытаюсь получить текущее местоположение, используя этот код в моем методе viewDidLoad:менеджер CLLocation не возвращает местоположение

//init the location manager 
locationManager = [[CLLocationManager alloc] init];  
locationManager.delegate = self; 
locationManager.desiredAccuracy = kCLLocationAccuracyBest; 

[locationManager startUpdatingLocation]; 

и у меня есть свои методы делегата:

//if it fails to get the location 
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error 
{ 
    NSLog(@"didFailWithError: %@", error); 
    UIAlertView *errorAlert = [[UIAlertView alloc] 
           initWithTitle:@"Error" message:@"Failed to Get Your Location" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [errorAlert show]; 
} 


- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 
{ 
    NSLog(@"didUpdateToLocation: %@", newLocation); 
    self.currentLocation = newLocation; 

} 

мой UIViewController Соответствует CLLocationManagerDelegate, однако у меня нет активности, нет NSLog или ошибок. Я тестировал на устройстве. Может ли кто-нибудь дать мне указатель на то, что может быть неправильно здесь, пожалуйста?

+0

Вы активировали LocationTracking в своем проекте? Устройство спросило, разрешено ли отслеживание местоположения? Проверьте настройки системы, если приложение зарегистрировано для местоположений – Christian

+0

Устройство никогда не спрашивало меня об этом. Кажется, что не зарегистрировано ни для каких мест. Интересно, если это потому, что я использую iOS 8 – Kex

+0

Проверьте мой ответ здесь, его часто задаваемый вопрос w.r.t. iOS 8 и менеджер местоположений. http://stackoverflow.com/questions/26777246/using-freeway-drive-city-run-in-ios-simulator-in-background-mode?answertab=active#tab-top – Amit

ответ

1

убедитесь, вы будете следовать указаниям в документации

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html

особенно, что ключ'UIRequiredDeviceCapabilities' в вашем Info.plist.

+0

спасибо за это, сейчас работает. Он обратно совместим с версиями iOS ниже 8? – Kex

+0

да, если я помню – Christian

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