2012-12-12 3 views
0

내 앱에서 내 위치를 찾고 싶습니다. 그리고 나는 use CoreLocationManager 좌표를 얻지 만, 앱을 시작했을 때 위치 프라이버시를 인증하기 위해 날씨를 알려주고 OK 버튼을 클릭해도 아무 일도 일어나지 않습니다.내 앱에서 위치를 활성화 할 수 없습니다.

그런 다음 내 iPhone에서 Settings-Privacy-location을 열면 내 앱이 위치를 사용할 수없는 것으로 나타났습니다. 나는 그것을 켜고 그 다음에 앱을 다시 시작했지만, 여전히 아무 일도 일어나지 않습니까?

CLLocationManager *locationManager = [[CLLocationManager alloc] init]; 
[locationManager setDelegate:self]; 
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest]; 
[locationManager startUpdatingLocation]; 

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations 
{ 

} 

내가 중단 점을 설정 한 후 -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations가 실행할 수 없습니다 방법 :

여기 내 코드입니다.

+0

이 문제를 해결했으며 locationManager는 접근 자나 멤버 변수 여야합니다. – lixiaoyu

답변

1

yor 장치에서 현재 위도와 경도를 얻으려면 다음 코드를 입력하십시오 (시뮬레이터에는 없음).

CLLocationManager *locationManager = [[CLLocationManager alloc] init]; 
[locationManager setDelegate:self]; 
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest]; 
[locationManager startUpdatingLocation]; 
CLLocation *location = [locationManager location]; 
CLLocationCoordinate2D coordinate = [location coordinate]; 
latitude = [[NSString alloc] initWithFormat:@"%f", coordinate.latitude]; 
longitude = [[NSString alloc] initWithFormat:@"%f", coordinate.longitude]; 
NSLog(@"dLatitude : %@", latitude); 
NSLog(@"dLongitude : %@",longitude); 
+0

작동합니다. 고맙습니다! 그리고 왜 그것이 메서드를 호출 할 수 없는지 알고 싶습니다 - (void) locationManager : (CLLocationManager *) manager didUpdateLocations : (NSArray *) location? – lixiaoyu

+0

이 메소드를 호출하려면 .h 파일에'CLLocationManagerDelegate'를 설정해야합니다. 그것은 당신을 위해 –

+0

이 대답은 당신에게 도움이되었으므로 당신은 위로 움직일 수 있고 그것을 받아 들일 수 있습니다 –

관련 문제