1

CLGeocoder を使用して、デバイスの現在の位置を逆ジオコーディングしています。kCLErrorNetworkSimulator では問題なく動作しますが、デバイス (iPhone 4 および iPad 3) では常にエラーで失敗します。

コードは非常に簡単です。

if ( geocoder == nil ) geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:self.location completionHandler:^(NSArray *placemarks, NSError *error) {

    if ( error == nil ) {

        // Do good stuff with the placemark...

    } else {

        NSLog(@"unable to reverse geocode location %@ due to error: %@", self.location, error);
    }
}];

出力されるエラー メッセージは次のとおりです。

unable to reverse geocode location <[redacted],[redacted]> +/- 69.94m (speed -1.00 mps / course -1.00) @ 9/4/12 10:30:19 AM Eastern Daylight Time due to error: Error Domain=kCLErrorDomain Code=2 "The operation couldn’t be completed. (kCLErrorDomain error 2.

このメソッドは、CLLocationManager が場所を提供した後にのみ呼び出されるため、メソッドには常に有効な場所が渡されます。

いくつかの Wi-Fi ネットワークと 3G ネットワークで試しました。デバイスでは決して機能しません。

どんな助けでも大歓迎です!

4

1 に答える 1