In iOS8, è necessario richiedere l'autorizzazione dell'utente prima di ottenere la loro posizione.
Ci sono due tipi di richiesta:
-[CLLocationManager requestWhenInUseAuthorization]
consente di ottenere la posizione degli utenti solo quando l'applicazione è risvegliare.
-[CLLocationManager requestAlwaysAuthorization]
consente di ottenere la posizione degli utenti anche quando è in background.
È possibile scegliere tra loro di conseguenza.
Per esempio, mettere questo prima di iniziare l'aggiornamento posizione:
// ask for authorization
CLLocationManager * locationManager = [[CLLocationManager alloc] init];
// check before requesting, otherwise it might crash in older version
if ([locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[locationManager requestWhenInUseAuthorization];
}
Inoltre, non dimenticare di aggiungere due chiavi
NSLocationWhenInUseUsageDescription
e
NSLocationAlwaysUsageDescription
nel vostro informazioni .plist.
Lasciare i valori vuoti per utilizzare i messaggi predefiniti oppure è possibile personalizzare il proprio inserendo i valori.
fonte
2014-09-19 22:40:42
possibile duplicato del [iOS 8: servizi di localizzazione non funziona] (http://stackoverflow.com/questions/24062509/ios-8-location-services-not -working) –