2014-09-27 3 views
-1

사용자 위치를 얻으려는 앱이 있습니다. 아시다시피 Apple은 사용자 개인 정보 보호 정책을 변경하여 (권장) 사용자 위치를 알 수 없습니다. 오류가없고 경고도 표시되지 않습니다.iOS 8에서 위치 서비스가 작동하지 않습니다.

CLAuthorizationStatus authStatus = [CLLocationManager authorizationStatus]; 

    if (authStatus == kCLAuthorizationStatusNotDetermined) { 
     [_locationManager requestWhenInUseAuthorization]; 
     NSLog(@"Case 1"); 
     return; 
    }; 

    if (authStatus == kCLAuthorizationStatusDenied || authStatus == kCLAuthorizationStatusRestricted) { 
     // show an alert 
     NSLog(@"Case 2"); 
     return; 
    }; 

그리고 출력은 의미 사례 1입니다 - authStatus == kCLAuthorizationStatusNotDetermined : [_locationManager startUpdatingLocation]; 를 호출하기 전에 내가 다음 코드를 추가 할이 문제를 해결하는 시도에서 거기입니다. 그러나 내 앱의 위치 서비스를 사용하도록 사용자에게 알리미가 없으며 프롬프트가 표시되지 않고 사용자에게 제안이 없습니다. 사실, 심지어 내 아이폰의 설정에서 수동으로 켜십시오. 여전히 작동하지 않습니다 (Xcode 업데이트가 완벽하게 작동 함).

어떻게 해결할 수 있습니까? 조언을 보내 주시면 감사하겠습니다.

+0

if 문을 제거하려면 항상'requestWhenInUseAuthorization'를 호출해야합니다. 또한 info.plist에 필요한 키를 추가 했습니까? – Paulw11

+0

가능한 [Xcode 6 GM - CLLocationManager] 복제본 (http://stackoverflow.com/questions/25844430/xcode-6-gm-cllocationmanager) –

+0

http://datacalculation.blogspot.in/2014/11에서 기술 솔루션 찾기 /how-to-fix-cllocationmanager-location.html –

답변

3

사용자 위치를 요청하는 이유에 대해 info.plist에 추론을 추가해야합니다.

정보 info.plist를 열고 키가 NSLocationWhenInUseUsageDescription 또는 NSLocationAlwaysUsageDescription이고 행 유형을 추가하고 값 유형에 사용자 위치를 요청할 행을 추가하십시오. 예 : '일출과 일몰을 계산하기 위해 위치를 사용합니다.' iOS는 사용자가 요청한 이유에 대한 이유를 제시하지 않는 한 사용자에게 위치 사용 권한을 요청하지 않습니다.

+0

도와 주신 TyloBedo에게 감사드립니다! –

+0

자세한 설명은 http://datacalculation.blogspot.in/2014/11/how-to-fix-cllocationmanager-location.html을 참조하십시오. –

관련 문제