문제

앱이 처음으로 사용자 위치를 얻으려고 시도하면 "현재 위치를 사용하시겠습니까?"라는 메시지가 표시되고 허용 안 함 또는 확인을 누를 수 있습니다.사용자가 확인을 눌렀는지 아니면 허용하지 않았는지 확인할 수 있는 방법이 있나요?MKMapView가 사용자의 현재 위치를 표시하도록 하려고 하는데 사용자 선택에 따라 다른 작업을 수행하고 싶습니다.

일반적으로 이 정보를 얻을 대리인이 있을 것이라고 생각하지만 그렇지 않은 것 같습니다.

도움을 주셔서 미리 감사드립니다.

도움이 되었습니까?

해결책

사용자의 위치를 ​​가져오기 위한 첫 번째 호출은 사용자가 위치 서비스를 거부했다는 오류와 함께 실패합니다.당신의 CLLocationManagerDelegate 방법 didFailWithError 아래와 같이 호출됩니다.(상수는 다음에 정의되어 있습니다. CLError.h)

- (void)locationManager:(CLLocationManager*)aManager didFailWithError:(NSError*)anError
{
    switch([anError code])
    {
    case kCLErrorLocationUnknown: // location is currently unknown, but CL will keep trying
    break;

    case kCLErrorDenied: // CL access has been denied (eg, user declined location use)
    message = @"Sorry, flook has to know your location in order to work. You'll be able to see some cards but not find them nearby";
    break;

    case kCLErrorNetwork: // general, network-related error
    message = @"Flook can't find you - please check your network connection or that you are not in airplane mode";
    }
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top