Desidero aprire la schermata del servizio di localizzazione per attivare il servizio. Come si apre la schermata dei servizi di localizzazione dalla schermata delle impostazioni?
Questo screenshot per refrence:
Desidero aprire la schermata del servizio di localizzazione per attivare il servizio. Come si apre la schermata dei servizi di localizzazione dalla schermata delle impostazioni?
Questo screenshot per refrence:
Fase 1: Fare clic sul nome del progetto >> target >> informazioni >> url Tipi
Fase 2:
-(IBAction)openSettingViewToEnableLocationService:(id)sender
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
}
non funziona in swift 4, xcode 9.2.1 – Mehul
È possibile aprire direttamente come l'utilizzo di seguito il codice,
Ma per prima cosa impostare URL Schemes
in Info.plist di URL tipo come:
Quindi scrivi sotto la riga in corrispondenza di un evento specifico:
In Obiettivo - C:
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
In Swift:
UIApplication.sharedApplication().openURL(NSURL(string: "prefs:root=LOCATION_SERVICES")!)
Spero che questo vi aiuterà.
Grazie, Jigar. ma ho già trovato la soluzione –
Questa è la grande signora Monika Patel :) –
Dopo l'implementazione passerà le linee guida per la recensione di App Store? – Ramis
Primo:
Aggiungi URL
Vai al progetto impostazioni -> Info -> tipi di URL -> Aggiungi nuovi schemi URL
vedi immagine sotto:
Secondo:
Usa sotto il codice per aprire le impostazioni di localizzazione:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
Questo non funziona da iOS 10 –
@Joe Susnick Hai una soluzione per iOS 10 ? Grazie per l'aiuto –
@EricBrunner si, ho pubblicato sopra ma l'url: '' 'App-Prefs: root = Privacy & path = LOCATION''' ha funzionato per me. –
servizi di localizzazione App-Prefs:root=Privacy&path=LOCATION
ha lavorato per me. Quando ho provato su un dispositivo e non su un simulatore.
Non elenco le cose che ho provato che non ha funzionato, è una lunga lista.
esempio di utilizzo che si assume sia i servizi di localizzazione sono disattivati o il permesso viene negato o non determinato:
if !CLLocationManager.locationServicesEnabled() {
if let url = URL(string: "App-Prefs:root=Privacy&path=LOCATION") {
// If general location settings are disabled then open general location settings
UIApplication.shared.openURL(url)
}
} else {
if let url = URL(string: UIApplicationOpenSettingsURLString) {
// If general location settings are enabled then open location settings for the app
UIApplication.shared.openURL(url)
}
}
Questo arresto anomalo in iOS 9 –
ha funzionato perfettamente per iOS 10. Grazie! –
Risposta perfetta, l'ho provato. – Mehul
Swift 3
andare direttamente alla impostazioni della tua applicazione come questa. Non dimenticare di mettere nel vostro identificatore bundle -
if let url = URL(string: "App-Prefs:root=Privacy&path=LOCATION/your.bundle.identifier") {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
facile: UIApplication.shared.openURL (URL.init (stringa:! UIApplicationOpenSettingsURLString)) –
@ TàTruhoada E ' inutile se i servizi di localizzazione sono disabilitati, ciò che hai scritto qui è per l'autorizzazione alla localizzazione dell'app ma non per abilitare/disabilitare i servizi di localizzazione stessa .. non puoi cambiare le autorizzazioni di localizzazione per la tua app se i servizi di localizzazione sono disabilitati – user25
Dopo l'aggiunta di preferenze come un tipo di URL, utilizzare il seguente codice per accedere direttamente alle impostazioni localizzazione di un'applicazione.
if let url = URL(string: "App-prefs:root=LOCATION_SERVICES") {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
In realtà c'è una soluzione molto più semplice. Mostrerà le impostazioni dell'app con servizi di localizzazione/accesso alla telecamera, ecc .:
func showUserSettings() {
guard let urlGeneral = URL(string: UIApplicationOpenSettingsURLString) else {
return
}
UIApplication.shared.open(urlGeneral)
}
le impostazioni dell'app, non il sistema Attiva/disattiva la posizione scheda ... – user25
non è possibile abilitare la posizione e modificare i permessi per la tua app se i servizi di localizzazione sono disabilitati nel sistema, quindi prima devi abilitare i servizi di localizzazione (vedi screenshot dalla domanda dell'autore) – user25
Ah, sì - tu hai ragione - mi mancava quello. –
Spero che questo ti possa aiutare. [clicca qui] (http://stackoverflow.com/a/8246814/2056569) –