2014-09-20 1 views
1

현재 사용자에게 현재 지리적 위치를 사용하는 응용 프로그램이 있습니다.Xcode에서 내 응용 프로그램의 위치 서비스를 변경합니다.

내 장치 또는 시뮬레이터에서 응용 프로그램을 실행할 때마다 응용 프로그램이 열리고 즉시 내 위치 서비스가 "승인 됨"에서 "결정되지 않음"으로 바뀝니다. 웬일인지 이것은 나에게만 일어나고 다른 개발자들에게는 일어나지 않는다.

어제 밤 6.01로 업데이트 한 Xcode 나 내 코드의 내용에 문제가 있는지 잘 모르겠습니다.

응용 프로그램의 위치 서비스를 재설정하려고 시도했지만 즉시 응용 프로그램으로 돌아 가면 "결정되지 않음"으로 다시 변경됩니다.

이 문제의 원인은 무엇입니까? 비슷한 문제가있는 사람이 있습니까?

다음은 내 locationManager의 코드 스 니펫입니다.

- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status{ 
NSLog(@"did change status"); 

if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined) { 
    NSLog(@"not determined"); 

} else if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorized) { 
    NSLog(@"Authorized"); 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"Location Services Authorized" object:self]; 

} else if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusRestricted){ 
    NSLog(@"restricted"); 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"Location Services Restricted" object:self]; 

} else if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied) { 
    NSLog(@"denied"); 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"Location Services Denied" object:self]; 

} else { 
    NSLog(@"can not"); 
+0

http://stackoverflow.com/questions/25844430/xcode-6-gm-cllocationmanager/25844674#25844674 이것을 확인하십시오. –

답변

0

응용 프로그램이 위치 서비스에 액세스 할 수 없으므로 화면 설정이 꺼져 있어야합니다. 확인할 수 있습니까? 이동 설정에> 개인 정보 보호>는 requestWhenInUseAuthorization를 호출 어디 코드에 표시되지 않습니다

1

에서 위치 서비스> "당신의 응용 프로그램">. 위치 서비스가 작동하기 전에 iOS8에서 사용자에게 승인을 요청하는 것이 필요합니다.

위치 서비스를 시작할 때마다 위치 관리자에서 전화를 걸어서 권한이 있는지 확인하십시오. 이미 권한이 있거나 이미 거부 된 경우에는 아무 작업도 수행하지 않습니다.