[iphone] 위치 관리자 오류 : (KCLErrorDomain 오류 0)

Location Manager Error : Operation could not be completed(KCLErrorDomain error 0)

이 오류가 발생하는 이유는 무엇입니까?



답변

이 오류는 Scheme/Edit Scheme/Options/Allow Location Simulation선택했지만 기본 위치가 설정되지 않은 경우 발생합니다 . 나는 다른 원인도 있다고 확신합니다.


답변

최신 정보

Ben Marten
에게 감사드립니다 XCode에서 다음 단계를 사용하여 영구적으로 만들 수 있습니다.

  1. 제품> 구성> 구성 편집
  2. .app 실행을 클릭합니다.
  3. 옵션 탭
  4. 이미 확인한 핵심 위치> 위치 선택
  5. 확인을 누릅니다.

또한 Wi-Fi에 연결되어 있지 않아도 상위 메뉴 항목을 통해 시뮬레이터에서 위치를 설정하고 Debug>Location위의 단계를 따라 영구적으로 만들 수 있습니다.

iOS 시뮬레이터의 위치 오류


답변

방금이 문제가 발생했습니다. 해결책을 찾는 데 시간이 걸렸습니다. 이전 포스터의 답변과 느슨하게 관련이 있습니다.

iPhone / iPad Simulator의 CoreLocation이 작동 하려면 Airport (WiFi) 가 켜져 있어야합니다 . 나는 이더넷을 통해 연결되었으므로 CL은 시뮬레이터에서 아무것도하지 않았습니다. 네트워크 설정에서 공항을 켜고 다시 시도하십시오. 무선보다 유선 연결을 계속 선호하려면 이더넷 아래에 공항을 끌어 네트워크 인터페이스의 순서를 변경할 수 있습니다.


답변

API 문서에서 :

CLError

위치 관리자 개체에서 반환 한 오류 코드입니다.

typedef enum {kCLErrorLocationUnknown = 0, kCLErrorDenied, kCLErrorNetwork, kCLErrorHeadingFailure} CLError;

상수

kCLErrorLocationUnknown 위치 관리자가 지금 위치 값을 가져올 수 없습니다. iPhone OS 2.0 이상에서 사용할 수 있습니다. CLError.h에 선언되었습니다.

kCLErrorDenied 사용자가 위치 서비스에 대한 액세스를 거부했습니다. iPhone OS 2.0 이상에서 사용할 수 있습니다. CLError.h에 선언되었습니다.

kCLErrorNetwork 네트워크를 사용할 수 없거나 네트워크 오류가 발생했습니다. iPhone OS 3.0b 이상에서 사용 가능합니다. CLError.h에 선언되었습니다.

kCLErrorHeadingFailure 표제를 판별 할 수 없습니다. iPhone OS 3.0 이상에서 사용할 수 있습니다. CLError.h에 선언되었습니다.

따라서 이것은 위치를 결정할 수 없음을 의미합니다.

가장 가능성이 높은 원인은 위치 관리자가 WiFi를 사용하여 위치를 삼각 측량하고 데이터베이스가 로컬 네트워크를 다루지 않는다는 것입니다. 사용자가 여기에 가면 분명히 고칠 수 있습니다 .

그러나 내가 언급했듯이 WiFi 위치 항목이 정상적으로 작동하는 위치에서 위치 기반 프로그램을 실행할 때 가끔 일시적인 오류로 보이기도합니다.

마지막으로 하드웨어 오류가 발생하면이 오류가 표시 될 수 있다고 생각합니다.


답변

1) 실제로 유효한 WiFi 및 3G 연결이 있는지 확인

그렇다면

2) 설정으로 이동하여 위치 서비스를 재설정합니다. 3) 네트워크 설정을 재설정합니다.


답변

이 오류는 위치 관리자가 위치 정보를 즉시 가져올 수 없을 때 발생합니다. startUpdatingLocation 메서드가 호출 될 때이 오류가 발생하는 것을 발견했습니다. 나에게 이것은 iPod에서 발생했지만 iPhone에서는 발생하지 않았습니다. 아이폰은 위치 정보를 얻을 수있는 더 많은 방법 (예 : 셀룰러 네트워크)이 있고 위치를 빠르게 예측할 수있는 반면, 아이팟은 더 많은 시간이 소요되어 아이팟에서이 오류가 발생하기 때문입니다.

이 오류가 발생하면 locationManager : didFailWithError : delegate 메소드가 호출되므로이 메소드에 전달 된 오류 객체에서 “[error domain]”및 “[error code]”를 일치시켜 조건문에서이 특정 경우를 처리 할 수 ​​있습니다.


답변

내가 찾은 정확한 이유는 ios 시뮬레이터 “디버그 설정”과 xcode 설정 “구성표 편집”모두에서 위치 시뮬레이션에서 충돌이 발생하기 때문입니다.이 중 하나에서 기본 사용자 위치를 설정하고 표시 다른 하나 는 문제를 해결 하지 못했습니다. 이것이 확실히 도움이 될 수 있기를 바랍니다.
InXcode :여기에 이미지 설명 입력

아이폰 / 아이 패드 시뮬레이터에서 :여기에 이미지 설명 입력