현재 위치를 얻고 싶지만 대신 오류가 발생합니다.
이것은 내 뷰 컨트롤러의 일부입니다.
- (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.)"
답변
-
실제로 유효한 WiFi 및 3G 연결이 있는지 확인하십시오.
… 그렇다면 :
-
설정으로 이동하여 위치 서비스를 재설정하십시오.
- 네트워크 설정 재설정
이 문제를 해결해야합니다. 앱 관련이 아닌 기기 / 네트워크 관련입니다. 특히 앱이 위치 서비스에 의존하고 기기가 Wi-Fi 전용이고 사람들이 AppStore에서 부정적인 평가를하는 경우에는 특히 짜증이납니다. 실례합니다.
답변
시뮬레이터를 사용하는 경우 :
- 보도
command + shift + ,
엑스 코드는 계획 편집기를 엽니 다 - 실행 구성표 선택
- 옵션 탭으로 이동
- 확인 ✅
Allow Location Simulation
- 드롭 다운에서 기본 위치를 선택합니다.
None
기본 위치로 선택하면 문제가 발생할 수 있습니다.
답변
이 오류를 무시하고 더 많은 업데이트 또는 다른 오류를 기다리십시오.
위치 관리자에 대한 문서는이 오류가 일시적이라고 말합니다. 위치를 즉시 검색하지 못했음을 알리지 만 계속 시도합니다. “이러한 상황에서는 오류를 무시하고 새 이벤트를 기다릴 수 있습니다.” 이것은 정말 골칫거리 인 메서드를 사용하는 방법입니다 locationManager:didFailWithError:
-고마워요 Apple!
답변
시뮬레이터를 다시 시작하십시오 (사용중인 것으로 가정).
다른 모든 것을 시도한 후에 이것은 나를 위해 일했습니다.
답변
시뮬레이터를 다시 시작해도 작동하지 않았습니다.
을 통해 모든 것을 지워야했습니다
"iOS Simulator" >> "Reset Content and
.
Settings...
답변
시뮬레이터에서이 오류가 발생했습니다. 디버깅 패널에서 위치 버튼을 클릭하고 위치를 설정하면 문제가 해결되었습니다. (버튼이 파란색인지 확인)