CLLocationmanager updateLocations метод делегата, который не вызван в iOS 8

Я использую CLLocationManager для получения текущего местоположения. В частности, в iOS 8 методы делегирования не запускаются.

Я установил разрешение в службах местоположения, пожалуйста, просмотрите снимок экрана ниже

Пожалуйста, найдите мой код ниже:

self.myLocationManager = [[CLLocationManager alloc]init]; [self.myLocationManager setDelegate:self]; self.myLocationManager.distanceFilter = kCLDistanceFilterNone; self.myLocationManager.desiredAccuracy = kCLLocationAccuracyBest; [self.myLocationManager startUpdatingLocation];

и я попытался использовать метод iOS 8. И установите свойство NSLocationAlwaysUsageDescription в NSLocationAlwaysUsageDescription но все еще не можете получить местоположение

self.myLocationManager requestAlwaysAuthorization];

2 ответа

Шаг 1:

Добавьте код ниже:

SEL requestSelector = NSSelectorFromString(@"requestAlwaysAuthorization");
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined &&
 [locationManager respondsToSelector:requestSelector]) {
 [locationManager performSelector:requestSelector withObject:NULL];
} else {
 [locationManager startUpdatingLocation];
}

Шаг 2:

Добавить NSLocationAlwaysUsageDescription в info.plist


Не похоже, что вы установили значение для NSLocationAlwaysUsageDescription.

licensed under cc by-sa 3.0 with attribution.