ubicación ubicacion servicio segundo quitar plano localizacion icono google desactivar como chrome activar ios objective-c location-services

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) }

Quiero abrir la pantalla del servicio de ubicación mediante programación para activar el servicio.

Esta captura de pantalla para la referencia:


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) }



Paso 1: haga clic en el nombre del proyecto >> target >> info >> url Types

Paso 2:

-(IBAction)openSettingViewToEnableLocationService:(id)sender { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]]; }


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) } }