KROK 1: Dodaj CoreLocation ram w projekcie.
- Wybierz CELE ->Zbuduj Fazy
- Wybierz Łącze binarnych z Biblioteki
- Kliknij Plus (+) przycisk. Spowoduje to otwarcie listy ramowej.
- Wyszukaj Framework CoreLocation i Dodaj it.
KROK 2: Wpisz poniżej kod w pliku nagłówkowym widzenia regulatora gdzie lokalizacja ma być pobrana:
#import <CoreLocation/CoreLocation.h>
Również dodać CLLocationManagerDelegate
w interfejsie.
Teraz utworzyć obiekt LocationManager
CLLocationManager *locationManager;
KROK 3: In, ViewDidLoad
metoda zapisu poniżej kodu:
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
[locationManager startUpdatingLocation];
[locationManager requestAlwaysAuthorization]; //Note this one
Można ustawić wartość desiredAccuracy jak kCLLocationAccuracyBest, kCLLocationAccuracyNearestTenMeters, kCLLocationAccuracyHundredMeters, kCLLocationAccuracyKilometer, kCLLocationAccuracyThreeKilometers
Teraz napisać poniżej kod, aby uzyskać wartość szerokości i długości geograficznej:
float Lat = locationManager.location.coordinate.latitude;
float Long = locationManager.location.coordinate.longitude;
NSLog(@"Lat : %f Long : %f",Lat,Long);
KROK 4: W systemie iOS 8 kod nie działa po cichu, tzn. Nie będzie żadnych błędów ani ostrzeżeń.
trzeba zrobić dwie rzeczy, aby uzyskać dodatkowe pracę Lokalizacja:
- dodać klucz do Info.plist
- żądanie autoryzacji z menedżera lokalizacji prosząc go, aby rozpocząć.
Dowolny jeden lub oba poniższe klucze należy dodać w pliku Info.plist.
- NSLocationWhenInUseUsageDescription
- NSLocationAlwaysUsageDescription
Są typu String i wartość może być dowolny opis wiadomość lub pusta.
Teraz musisz poprosić o autoryzację dla odpowiedniej metody lokalizacji. Użyj dowolnej z poniższych połączeń:
- [self.locationManager requestWhenInUseAuthorization]
- [self.locationManager requestAlwaysAuthorization]
Perfect, dzięki za szybką pomoc :) –