O Obj-C do Kit de Mapas do iOS 8 não pode obter a localização dos usuários
Estou trabalhando com o Map Kit no iOS 8 usando o Obj-C NOT SWIFT. Não consigo obter o local do dispositivo, ele está definido como 0,00, 0,00 e estou recebendo o erro:
Trying to start MapKit location updates without prompting for location authorization. Must call -[CLLocationManager requestWhenInUseAuthorization] or -[CLLocationManager requestAlwaysAuthorization] first.
Eu implementei: (Eu tentei apenas um de cada vez e sem sorte)
if(IS_OS_8_OR_LATER) {
[self.locationManager requestWhenInUseAuthorization];
[self.locationManager requestAlwaysAuthorization];
}
[self.locationManager startUpdatingLocation];
E em info.plist
NSLocationWhenInUseUsageDescription : App would like to use your location.
NSLocationAlwaysUsageDescription : App would like to use your location.
Sou solicitado a permitir que o aplicativo use minha localização, mas depois que eu concordo, nada muda. O local está sendo mostrado como 0,00, 0,00.
Código para exibir a localização dos usuários:
//Get Location
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.distanceFilter = kCLDistanceFilterNone;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[self.locationManager startUpdatingLocation];
MKCoordinateRegion region = { { 0.0, 0.0 }, { 0.0, 0.0 } };
region.center.latitude = self.locationManager.location.coordinate.latitude;
region.center.longitude = self.locationManager.location.coordinate.longitude;
region.span.longitudeDelta = 0.005f;
region.span.longitudeDelta = 0.005f;
[mapView setRegion:region animated:YES];
Mike.
** EDIT: Veja a resposta abaixo.