PASO 1: Añadir marco CoreLocation en su proyecto.
- Seleccionar OBJETIVOS ->Fases Construir
- Seleccionar Enlace binario con Bibliotecas
- Haga clic en más (+) botón. Esto abrirá la lista de marcos.
- Buscar CoreLocation framework y Agregar it.
PASO 2: escribir a continuación el código en el archivo de cabecera del controlador de vista donde la ubicación es que se debe buscar:
#import <CoreLocation/CoreLocation.h>
Además, añadir CLLocationManagerDelegate
en la interfaz.
Ahora, crear el objeto de LocationManager
CLLocationManager *locationManager;
PASO 3: En, ViewDidLoad
método de escritura por debajo de código:
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
[locationManager startUpdatingLocation];
[locationManager requestAlwaysAuthorization]; //Note this one
Puede establecer el valor desiredAccuracy como kCLLocationAccuracyBest, kCLLocationAccuracyNearestTenMeters, kCLLocationAccuracyHundredMeters, kCLLocationAccuracyKilometer, kCLLocationAccuracyThreeKilometers
Ahora, escriba a continuación código para obtener el valor de latitud y longitud
float Lat = locationManager.location.coordinate.latitude;
float Long = locationManager.location.coordinate.longitude;
NSLog(@"Lat : %f Long : %f",Lat,Long);
PASO 4: En iOS 8, este código falla silenciosamente es decir, no recibirá ningún error o advertencia.
que tiene que hacer dos cosas adicionales para obtener la ubicación de trabajo:
- agregar una clave a su Info.plist
- Solicitar autorización del gerente de locación pidiendo que se inicie.
Cualquiera o ambas claves a continuación deben agregarse en el archivo Info.plist.
- NSLocationWhenInUseUsageDescription
- NSLocationAlwaysUsageDescription
Estos son de tipo String y el valor puede ser cualquier descripción de mensaje o vacío.
Ahora necesita solicitar autorización para el método de ubicación correspondiente. Utilice cualquiera de las llamadas siguientes:
- [self.locationManager requestWhenInUseAuthorization]
- [auto.locationManager requestAlwaysAuthorization]
perfecto, gracias por su ayuda rápida :) –