ios - ubicacion - gps iphone
¿Cómo abrir la pantalla de servicios de ubicación desde la pantalla de configuración? (9)
Después de agregar las preferencias como un tipo de URL, use el siguiente código para ir directamente a la configuración de ubicación de una aplicación.
if let url = URL(string: "App-prefs:root=LOCATION_SERVICES") {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
En realidad hay una solución mucho más simple para eso. Mostrará la configuración de la aplicación con servicios de ubicación / acceso a la cámara, etc .:
if let bundleId = Bundle.main.bundleIdentifier,
let url = URL(string: "/(UIApplication.openSettingsURLString)&path=LOCATION//(bundleId)") {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
He intentado todas las respuestas anteriores, no está funcionando en iOS11 ... solo abre la página de configuración y no la configuración de la aplicación ... Finalmente, esto funciona ...
if let url = URL(string: "App-Prefs:root=Privacy&path=LOCATION/your.bundle.identifier") {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
Consulte: https://developer.apple.com/documentation/uikit/uiapplicationopensettingsurlstring?language=swift
Puedes abrirlo directamente como usando el siguiente código,
Pero primero establece los URL Schemes
en el Tipo de URL de Info.plist como:
Luego escribe debajo de la línea en un evento específico:
En Objetivo - C :
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
En Swift :
UIApplication.sharedApplication().openURL(NSURL(string: "prefs:root=LOCATION_SERVICES")!)
Espero que esto te ayudará.
SWIFT 4 probado:
La única forma de evitar ser rechazado y abrir las Preferencias de Ubicación de la propia aplicación es:
func showUserSettings() {
guard let urlGeneral = URL(string: UIApplicationOpenSettingsURLString) else {
return
}
UIApplication.shared.open(urlGeneral)
}
Primero:
Agregar URL
Vaya a Configuración del proyecto -> Información -> Tipos de URL -> Agregar nuevos esquemas de URL
Ver imagen abajo:
Segundo:
Usa el código de abajo para abrir la configuración de ubicación:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
referido desde: https://.com/a/35987082/5575752
Swift 3
Ir directamente a la configuración de su aplicación como esta. No olvides poner tu identificador de paquete -
UIApplication.shared.open(URL(string:UIApplicationOpenSettingsURLString)!)
Servicios de ubicación App-Prefs:root=Privacy&path=LOCATION
funcionó para mí. Cuando lo probé en un dispositivo y no en un simulador.
No listaré las cosas que probé que no funcionaron, es una lista larga.
Ejemplo de uso que asume que los servicios de ubicación están deshabilitados o que el permiso está denegado o no está determinado:
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)
}
}