Как исправить ошибку NSURLErrorDomain -999 в ОС iPhone 3.0
Я пытаюсь обновить приложение для iPhone для работы с ОС 3.0. У меня есть UIWebView, который показывает страницу в порядке. Но когда я нажимаю ссылку, она вызывает моего делегата для didFailLoadWithError, и ошибка – операция не может быть завершена. (Ошибка NSURLErrorDomain -999.) Я проверил, что это все еще работает с ОС 2.2.1, поэтому в 3.0 оно изменилось.
Есть идеи?
- Данные сырой песни MPMediaItems
- Могу ли я изменить цвет автоматически обнаруженных ссылок в UITextView?
- Обнаружение режима полета на iOS
- Как решить «Признать неудачную проверку кода приложения» при загрузке в iTunes Connect?
- Как вы можете использовать функции iPhone OS 3.0 в совместимом с 2.0 приложении?
- Динамический (Default.png) splashscreen в 3.0
- UITextField для номера телефона
- Каков второй параметр NSLocalizedString ()?
- Как продлить сертификат разработки iPhone?
- API распознавания речи iPhone?
- iphone - Как добавить видео в iPad?
- Как заставить UIMenuController работать для пользовательского представления?
- UIModalTransitionStylePartialCurl с UITabBarController
Я смог найти ответ здесь .
Этот stream содержал это описание для этой ошибки: This error may occur if an another request is made before the previous request of WebView is completed...
Я работал над этим, игнорируя эту ошибку и позволяя веб-просмотру продолжать загружаться.
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; }