Come posso verificare se l'utente ha disattivato i servizi di localizzazione?Come verificare se i servizi di localizzazione sono attivi o no?
In modo da poterlo spingere a accenderlo per poter utilizzare la mia app.
Grazie!
Come posso verificare se l'utente ha disattivato i servizi di localizzazione?Come verificare se i servizi di localizzazione sono attivi o no?
In modo da poterlo spingere a accenderlo per poter utilizzare la mia app.
Grazie!
Il CLLocationManager
fornisce metodi di classe per determinare la disponibilità dei servizi di localizzazione:
- (BOOL)locationServicesEnabled (for < iOS 4.0)
+ (BOOL)locationServicesEnabled (for iOS 4.0 and greater)
+ (CLAuthorizationStatus)authorizationStatus (for iOS 4.2+)
(e altri, consultare la documentazione)
Questa proprietà è quello che stavo cercando! Grazie! =) – nosuic
fai attenzione che 'authorizationStatus' richiede iOS4.2 + e' + (BOOL) locationServicesEnabled' richiede iOS4.0 ... E per le versioni precedenti di iOS, è '- (BOOL) locationServicesEnabled' ... –
Se l'applicazione non può funzionare senza servizi di localizzazione, è possibile impostare i servizi di localizzazione come requisito per l'installazione/esecuzione della app tramite Info.plist dell'app. A tale scopo, aggiungi la chiave UIDeviceCapabilities all'Info.plist della tua app e assegnagli un valore corrispondente di "servizi di localizzazione" meno le virgolette.
Con Info.plist configurato in questo modo, se i servizi di localizzazione sono disattivati, o se il dispositivo è in modalità aereo, o qualsiasi altra cosa impedisce l'uso di servizi di localizzazione sul dispositivo, iOS richiederà all'utente di ruotare sui servizi di localizzazione all'apertura dell'app.
EDIT: Breve sperimentazione sembra indicare che iOS non richiede all'utente in questa circostanza, quindi questa non sarebbe una buona soluzione per voi.
Per ulteriori informazioni, è possibile consultare la sezione relativa ai riferimenti ai codici di proprietà delle informazioni della documentazione per sviluppatori Apple.
Grazie mille per le informazioni! – nosuic
Utilizzare il seguito pezzo di codice ...
if (![CLLocationManager locationServicesEnabled]) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Location Service Disabled"
message:@"To re-enable, please go to Settings and turn on Location Service for this app."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
}
utilizzare il seguente codice, che funzionerà anche in iOS 8.
if([CLLocationManager locationServicesEnabled]&&
[CLLocationManager authorizationStatus] != kCLAuthorizationStatusDenied)
{
//...Location service is enabled
}
else
{
//...Location service is disabled
}
si dovrebbe chiedere questo su http://apple.stackexchange.com/ può essere lì avrete risposta veloce. –