IOS 9 проблема: CLGeocoder Network error code 2
CLLocation *location =[[CLLocation alloc]initWithLatitude:latitude longitude:longitude];
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
NSLog(@"Finding address");
if (error) {
NSLog(@"Error %@", error.description);
} else {
NSLog(@"%@",placemarks[0]);
}
}]; }
enum CLError : Int {
case LocationUnknown
case Denied
case Network
case HeadingFailure
case RegionMonitoringDenied
case RegionMonitoringFailure
case RegionMonitoringSetupDelayed
case RegionMonitoringResponseDelayed
case GeocodeFoundNoResult
case GeocodeFoundPartialResult
case GeocodeCanceled
case DeferredFailed
case DeferredNotUpdatingLocation
case DeferredAccuracyTooLow
case DeferredDistanceFiltered
case DeferredCanceled
case RangingUnavailable
case RangingFailure
}
Здесь я получил одну ошибку в устройстве IOS 9 (в симуляторе это работает хорошо ;-))
Ошибка при геокодировании: Error Domain=Kclerrordomain Code=2 " The операция не могла быть завершена. (ошибка kCLErrorDomain 2.) "
1 ответ:
Документыговорят: "вы не должны отправлять более одного запроса геокодирования в минуту".
KCLErrorNetwork сеть была недоступна или произошла сетевая ошибка.
На самом деле код отлично работает в
IOS8
&IOS7
.. его только даетError
вIOS 9.
Его Работа Совершенна.
CLGeocoder *geoCoder = [[CLGeocoder alloc] init]; [geoCoder cancelGeocode]; [geoCoder reverseGeocodeLocation:locationManager.location completionHandler:^(NSArray *placemarks, NSError *error) { NSLog(@"Error is %@",error.localizedDescription); for (CLPlacemark *placemark in placemarks) { NSLog(@"%@",placemark.ISOcountryCode); } }];
О/П:
Ошибка равна (null)
США