1. ホーム
  2. ios

[解決済み] didFailWithError: Error Domain=kCLErrorDomain Code=0 "操作を完了できませんでした。(kCLErrorDomainエラー0。)"

2023-07-15 18:06:28

質問

現在地を取得したいのですが、エラーになります。

これは私のビューコントローラのスニペットです。

- (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. ネットワーク設定をリセットします

これで、その問題は解決するはずです。これは、アプリに関係なく、デバイス/ネットワークに関連しています。位置情報サービスに依存しているアプリで、デバイスが WiFi のみで、AppStore で人々が否定的な評価を与えている場合は特に迷惑です...。すみません、ちょっと感情的になってしまいました。