Я использую CLLocationManager для получения текущего местоположения пользователя. Мне нужно текущее местоположение пользователя, потому что я использую Open Weather Api для отображения данных о погоде, где бы ни находился пользователь. Моя проблема в том, что при первом открытии приложения значения широты и долготы равны 0, 0. Но если я снова запущу приложение, оно будет работать нормально. Поэтому только при первом запуске приложения используются неверные значения широты и долготы. Я делаю все свои настройки в viewDiDLoad, вот код...
locationManager = [[CLLocationManager alloc] init];
[locationManager requestAlwaysAuthorization];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
[self->locationManager requestWhenInUseAuthorization];
[locationManager startUpdatingLocation];
Я не знаю, что я делаю неправильно. Это как-то связано с получением широты и долготы в контроллере представления вместо делегата приложения?
Вот как я получаю значения местоположения:
locationManager.location.coordinate.latitude
locationManager.location.coordinate.longitude