Passati alcuni giorni cercando di risolvere questo problema ma non riuscendo a trovare alcuna soluzione che funzioni. Ho controllato tutti i post su StackOverflow e ho provato tutte le loro soluzioni e nulla sembra funzionare. Ho anche provato il progetto di test della mela per CLLocation che funziona bene per me. Ho usato i pezzi del progetto di test melaCLLocation didupdatetolocation non chiamato
https://developer.apple.com/library/ios/samplecode/LocateMe/Listings/README_md.html
Ma il mio codice non funziona affatto. La DidupdateToLocation non viene mai chiamata.
Ecco il mio codice (in viewDidLoad)
_locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
// This is the most important property to set for the manager. It ultimately determines how the manager will
// attempt to acquire location and thus, the amount of power that will be consumed.
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
// Once configured, the location manager must be "started"
//
// for iOS 8, specific user level permission is required,
// "when-in-use" authorization grants access to the user's location
//
// important: be sure to include NSLocationWhenInUseUsageDescription along with its
// explanation string in your Info.plist or startUpdatingLocation will not work.
//
if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
[self.locationManager requestWhenInUseAuthorization];
}
[self.locationManager startUpdatingLocation];
[self performSelector:@selector(stopUpdatingLocationWithMessage:)
withObject:@"Timed Out"
afterDelay:30];
Ho controllato per assicurarsi locationServicesEnabled sia abilitato.
Ho aggiunto la proprietà NSLoationWhenInUseUsageDescription al file info.plist. C'è qualche altra proprietà che devo aggiungere o abilitare i servizi ??
Non posso per amore di dio capire cosa ho fatto di sbagliato. Qualcuno può aiutarmi per favore con questo.
btw viene visualizzato l'avviso di autorizzazione? –
non viene visualizzato l'avviso di autorizzazione – dogwasstar
Quindi suppongo che il callback doChangeAuthorizationStatus non venga chiamato, giusto? Il servizio di localizzazione per l'app è abilitato? (Impostazioni/Privacy/Servizi di localizzazione) Sei sicuro di aver aggiunto la chiave giusta per il tuo .plist? –