Ошибка 2 kCLErrorDomain после повторного геокодирования с помощью CLGeocoder

В моем приложении есть панель поиска, в которую пользователь может ввести адрес, и он получит геокодированный результат. Результат обновляется по мере ввода пользователем кода в соответствии со следующим кодом:

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
    ...
    if (self.geocoder.geocoding) [self.geocoder cancelGeocode];
    [self.geocoder geocodeAddressString:searchText completionHandler:^(NSArray *placemarks, NSError *error) {
        if (error != nil) {
            NSLog(@"ERROR during geocode: %@", error.description);
            return;
        }
        //update the view
    }];
}

Это работает для первых нескольких символов, которые пользователь вводит в поле поиска. Однако после того, как пользователь повторно вводит больше символов, геокодер начинает выдавать следующую ошибку (что, я знаю, означает, что возникла проблема с сетью):

ERROR during geocode: Error Domain=kCLErrorDomain Code=2 "The operation couldn’t be completed. (kCLErrorDomain error 2.)"

Геокодер не работает снова, пока весь ViewController не будет перезагружен. Почему это могло произойти, и что я могу сделать, чтобы решить это?

Ответы на вопрос(3)

Ваш ответ на вопрос