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

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

какие идеи?

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 framework получит эту ошибку при выполнении операции отмены для ресурса загрузки. Обратите внимание, что делегат 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;
}