[ios] didFailWithError : Error Domain = kCLErrorDomain Code = 0“작업을 완료 할 수 없습니다. (kCLErrorDomain 오류 0.)”

현재 위치를 얻고 싶지만 대신 오류가 발생합니다.

이것은 내 뷰 컨트롤러의 일부입니다.

- (void)viewDidLoad {
    self.locationManager = [[CLLocationManager alloc] init];
    [locationManager setDelegate:self];
    [locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
    [locationManager startUpdatingLocation];
}

- (void)locationManager:(CLLocationManager *)manager
     didUpdateLocations:(NSArray<CLLocation *> *)locations {
    // I would get the latest location here
    // but this method never gets called
}
- (void)locationManager:(CLLocationManager *)manager
       didFailWithError:(NSError *)error {
    NSLog(@"didFailWithError: %@", error);
}

대리자 메서드 locationManager:didUpdateLocations:가 호출 될 것으로 예상하고 있지만 대신 locationManager:didFailWithError:호출 만 받고 다음을 인쇄합니다.

didFailWithError: Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)"



답변

  1. 실제로 유효한 WiFi 및 3G 연결이 있는지 확인하십시오.

    … 그렇다면 :

  2. 설정으로 이동하여 위치 서비스를 재설정하십시오.

  3. 네트워크 설정 재설정

이 문제를 해결해야합니다. 앱 관련이 아닌 기기 / 네트워크 관련입니다. 특히 앱이 위치 서비스에 의존하고 기기가 Wi-Fi 전용이고 사람들이 AppStore에서 부정적인 평가를하는 경우에는 특히 짜증이납니다. 실례합니다.


답변

시뮬레이터를 사용하는 경우 :

  1. 보도 command + shift + ,엑스 코드는 계획 편집기를 엽니 다
  2. 실행 구성표 선택
  3. 옵션 탭으로 이동
  4. 확인 ✅ Allow Location Simulation
  5. 드롭 다운에서 기본 위치를 선택합니다.

None기본 위치로 선택하면 문제가 발생할 수 있습니다.


답변

이 오류를 무시하고 더 많은 업데이트 또는 다른 오류를 기다리십시오.

위치 관리자에 대한 문서는이 오류가 일시적이라고 말합니다. 위치를 즉시 검색하지 못했음을 알리지 만 계속 시도합니다. “이러한 상황에서는 오류를 무시하고 새 이벤트를 기다릴 수 있습니다.” 이것은 정말 골칫거리 인 메서드를 사용하는 방법입니다 locationManager:didFailWithError:-고마워요 Apple!

Apple Documentation


답변

시뮬레이터를 다시 시작하십시오 (사용중인 것으로 가정).

다른 모든 것을 시도한 후에 이것은 나를 위해 일했습니다.


답변

시뮬레이터를 다시 시작해도 작동하지 않았습니다.

을 통해 모든 것을 지워야했습니다 "iOS Simulator" >> "Reset Content and
Settings...
.


답변

시뮬레이터에서이 오류가 발생했습니다. 디버깅 패널에서 위치 버튼을 클릭하고 위치를 설정하면 문제가 해결되었습니다. (버튼이 파란색인지 확인)

여기에 이미지 설명 입력


답변

나도 같은 문제를 안고있어. 나는 가능한 설명 / 수정 이이 SO 포스트에서 다루어 졌다고 믿는다 .