С момента выпуска новой бета-версии iOS 8 мне не удалось успешно определить местоположение пользователя. До обновления до iOS 8 у меня не было проблем, но теперь он всегда возвращает 0,000000 в качестве текущей широты и долготы. Это просто баг новой версии? Мой код указан ниже:
//from the .h file
@interface MasterViewController : PFQueryTableViewController<CLLocationManagerDelegate,UITextFieldDelegate, UISearchBarDelegate, UISearchDisplayDelegate> {
}
@property (nonatomic, strong) CLLocationManager *locationManager;
//from the .m file
@synthesize locationManager = _locationManager;
- (void)viewDidLoad {
[super viewDidLoad];
[self.locationManager startUpdatingLocation];
}
- (CLLocationManager *)locationManager {
if (_locationManager != nil) {
return _locationManager;
}
_locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;
_locationManager.desiredAccuracy = kCLLocationAccuracyBest;
return _locationManager;
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation {
}
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error {
}
ОБНОВЛЕНИЕ На этот вопрос дан ответ (Службы определения местоположения не работают в iOS 8а>). Для тех, кто все еще борется с этим, для обеспечения обратной совместимости с iOS 7 я использовал код ниже:
if ([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) { }