2014-01-21 6 views
0

CLLocationManager을 사용 설정하는 방법 사용자가 거부하면 내 앱을 열 때마다 경고가 발생합니다. 아무 한테도 어떻게 말해 줄 수 있니?IOS : 사용자가 거부했을 때 CLLocationManager 알림을받는 방법

 locationManager = [CLLocationManager new]; 
     locationManager.delegate = self; 
     locationManager.distanceFilter = kCLDistanceFilterNone; 
     locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
     [locationManager startUpdatingLocation]; 

일단 내 앱을 다시 열면 알림을 표시해야합니다.

enter image description here

+8

한 번만 표시됩니다. 사용자에게 설정 앱으로 이동하여 앱에 권한을 부여하는 새 alertview를 표시하기 위해 수행 할 수있는 유일한 작업입니다. – jcesarmobile

+0

@jcesar 답변을 작성하십시오. – AnthonyBlake

답변

2

은 위치 권한 경고 한 번에만 표시됩니다. 사용자가 앱에 대한 권한을 거부 한 경우 설정> 개인 정보 보호> 위치 서비스에서 위치 서비스를 사용하도록 설정해야합니다. 자세한 내용은 Apple의 Understanding Location Services을 참조하십시오.

코드에서 +[CLLocationManager authorizationStatus] (documentation)의 값을 확인해야합니다. 상태가 kCLAuthorizationStatusDenied이면 설정에서 위치 서비스를 다시 사용하도록 설정하라는 메시지를 표시 할 수 있습니다.

0

사용자가이 대화를 거부하는 경우, 귀하의 CLLocationManagerDelegate-locationManager:didFailWithError: 콜백은 NSError로 얻을 것이다 :

  • 도메인 : kCLErrorDomain
  • 코드 :

을 kCLErrorDenied 당신은 적절하게 그 오류를 처리 할 수 ​​있습니다 .

관련 문제