날씨 데이터를 표시하기 위해 사용자의 위치에 액세스하려고합니다. 나는이 부호를 사용하고있다 :허가 후 위치 데이터를 가져올 수 없습니다.
if(self.locationManager == nil) {
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
}
// Check for iOS 8. Without this guard the code will crash with "unknown selector" on iOS 7.
if ([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
NSLog (@"ENTERING requestWhenInUseAuthorization",nil);
[self.locationManager requestAlwaysAuthorization];
}
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[self.locationManager startUpdatingLocation];
CLLocation *location = [self.locationManager location];
[self.locationManager stopUpdatingLocation];
NSString *latitude = [[NSNumber numberWithDouble:location.coordinate.latitude] stringValue];
NSString *longitude = [[NSNumber numberWithDouble:location.coordinate.longitude] stringValue];
나는 현재 위치를 사용하기 위하여 허가를 요구하는 팝업을 얻는다. 동의하지만 위치를 찾지 못했습니다. 그 값은 nil
입니다. 설정으로 이동하면 데이터에 액세스 할 수있는 권한이 있지만 애플리케이션을 닫고 다시 열지 않으면 데이터를 가져올 수 없다는 메시지가 표시됩니다. 현재 위치를 얻는 방법이 있습니까? 내가 뭐 잘못하고 있니?
'CLLocationManagerDelegate'를 정의하고 (locationManager : didUpdateLocations :'메소드에서) 위치가 업데이트 될 때까지 기다려야합니다. 이 방법은 여러 번 호출되며, 정확도가 더 높아집니다. ** 여기서 ** CLLocation 인스턴스를 얻고 싶습니다. –