Как исправить ошибку NSURLErrorDomain -999 в ОС iPhone 3.0


Я пытаюсь обновить приложение для iPhone для работы с ОС 3.0. У меня есть UIWebView, который показывает страницу нормально. Но когда я нажимаю ссылку, она вызывает мой делегат для didFailLoadWithError, и ошибка-операция не может быть завершена. (NSURLErrorDomain, ошибка -999.) Я проверил, что это все еще работает с ОС 2.2.1, так что это что-то изменилось в 3.0.

какие идеи?

3 51

3 ответа:

я смог найти ответ здесь.

этот поток содержал это описание для этой ошибки:This error may occur if an another request is made before the previous request of WebView is completed...

Я работал вокруг этого, игнорируя эту ошибку и позволяя webview продолжать загружаться.

if ([error code] != NSURLErrorCancelled) {
//show error alert, etc.
}

NSURLErrorCancelled (-999)

" возвращается при отмене асинхронной нагрузки. Делегат платформы Web Kit получит эту ошибку при выполнении операции отмены для ресурса загрузки. Обратите внимание, что делегат NSURLConnection или nsurldownload не получит эту ошибку, если загрузка будет отменена."

для моей ситуации (и, вероятно, вашей) Это можно игнорировать:

if([error code] == NSURLErrorCancelled) return; // Ignore this error

вышеуказанные два ответа были правильными> Просто сделайте возврат, если запрос на загрузку вызывает отмену.

также хочу отметить, что люди не забудьте поставить NSLog внутри didFailLoadWithError метод, это может предотвратить потерю много времени, обнаружив проблему прямо на!

Итак, вот окончательное решение со всем, что я упомянул выше:

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
    NSLog(@"ERROR : %@",error); //Get informed of the error FIRST
    if([error code] == NSURLErrorCancelled) 
        return;
}