¿Qué es CoreLocation y para qué sirve?
\nCoreLocation es un framework integrado de Apple para las plataformas iOS, macOS, watchOS y tvOS. Proporciona a los desarrolladores acceso a los medios hardware y software para determinar la ubicación del dispositivo. A diferencia de las bibliotecas de terceros, CoreLocation no requiere instalación a través de gestores de paquetes (CocoaPods, SPM) — es parte del SDK estándar.
\nFuncionalidades principales del framework:
\n- \n
- Determinación de coordenadas geográficas actuales (latitud y longitud). \n
- Seguimiento de cambios de ubicación en tiempo real. \n
- Geocercas (Geofencing) — recepción de notificaciones al entrar/salir de un área definida. \n
- Determinación de dirección (brújula) y velocidad de movimiento. \n
- Geocodificación inversa (conversión de coordenadas a dirección) y geocodificación directa (dirección a coordenadas). \n
La biblioteca es indispensable para aplicaciones de navegación, servicios de entrega, rastreadores de fitness, redes sociales con geolocalización y cualquier otra aplicación que requiera conocer la posición del usuario.
\n\nInstalación de CoreLocation
\nDado que CoreLocation es parte del sistema operativo, no es necesario instalarlo a través de pip o npm. Para usarlo, basta con importar el módulo en el código.
Importante: Para trabajar con geolocalización, es necesario agregar una descripción de uso en el archivo Info.plist de su proyecto. Sin esto, la aplicación fallará al intentar solicitar permiso.
Agregue una de las siguientes claves (dependiendo de cuándo necesite la ubicación):
\n- \n
NSLocationWhenInUseUsageDescription— para acceso solo durante el uso activo de la aplicación. \n NSLocationAlwaysAndWhenInUseUsageDescription— para acceso permanente (incluso en segundo plano). \n
Como valor, indique una cadena que se mostrará al usuario en el diálogo de solicitud de permiso (por ejemplo, "La aplicación necesita acceso a la geolocalización para mostrar cafeterías cercanas").
\n\nInicio rápido con ejemplo de código
\nVeamos un ejemplo mínimo para obtener las coordenadas actuales del usuario.
\nimport CoreLocation\n\nclass ViewController: UIViewController, CLLocationManagerDelegate {\n\n let locationManager = CLLocationManager()\n\n override func viewDidLoad() {\n super.viewDidLoad()\n locationManager.delegate = self\n locationManager.requestWhenInUseAuthorization()\n locationManager.startUpdatingLocation()\n }\n\n // MARK: - CLLocationManagerDelegate\n func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {\n guard let location = locations.last else { return }\n print("Latitud: \\(location.coordinate.latitude)")\n print("Longitud: \\(location.coordinate.longitude)")\n // Detenemos la actualización para no agotar la batería\n locationManager.stopUpdatingLocation()\n }\n\n func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {\n print("Error al obtener la ubicación: \\(error.localizedDescription)")\n }\n}\n\nEste código crea un gestor, solicita permiso al usuario y comienza el seguimiento. Una vez obtenidas las coordenadas, se muestran en la consola.
\n\nMétodos/funciones principales de CoreLocation
\nA continuación se presentan los métodos y propiedades clave de la clase CLLocationManager, así como de clases auxiliares.
1. requestWhenInUseAuthorization()
\nDescripción: Solicita al usuario permiso para acceder a la geolocalización solo durante el uso de la aplicación (aplicación activa en pantalla).
\nParámetros: Ninguno.
\nEjemplo:
\nlet manager = CLLocationManager()\nmanager.requestWhenInUseAuthorization()\n\n\n2.
También en la biblioteca
Spring Boot para Java: guía completa con ejemplos
Análisis de HTML en C# (.NET): revisión de bibliotecas y ejemplos de código
Envío de correo electrónico en Rust: bibliotecas lettre y mailparse para mensajes
Cliente Elasticsearch para Go (Golang): guía completa para trabajar con ES