2009-06-21 20 views
50

'da NSURLErrorDomain hatası -999'u nasıl düzeltirim? IPhone uygulamamı, OS 3.0 ile çalışmak üzere güncelleştirmeye çalışıyorum. Bir sayfa iyi gösteren bir UIWebView var. Ancak bir bağlantıyı tıklattığımda didFailLoadWithError için temsilci çağırıyor ve hata İşlemi tamamlanamadı. (NSURLErrorDomain error -999.) Bunun hala OS 2.2.1 ile çalıştığını doğruladım, bu yüzden 3.0'da bir şey değişti.iPhone 3.0 OS

Herhangi bir fikrin var mı?

+0

ayrıntıları sayfasında gibi UIWebView içindedir:

Yani burada yukarıda belirtilen tüm nihai çözümdür. – dlamblin

+0

Şu an yoldayım ve geri döndüğümde daha fazla ayrıntı ekleyeceğim. Bu halka açık bir web sayfasıdır. Daha fazla kazma işlemi, bir sonraki istek alınmadan önce tam olarak yüklenmemiş bir sayfayla ilgili olabileceği gibi görünüyor. Bunu henüz test etme şansım olmadı. Eğer bu sorun olduğunu ispat edersem güncellenir. –

+0

Doğru yanıt olarak kabul edilen yeniden gözden geçirmeniz gerektiğini düşünüyorum – hfossli

cevap

115

here cevabını bulamadık. This error may occur if an another request is made before the previous request of WebView is completed...

bu hatayı görmezden ve webview yüklenmeye devam sağlayarak bu sorunu çalıştı:

Bu iş parçacığı Bu hatanın bu açıklamayı içeriyordu.

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

Sabit değerin -999 yerine sabit NSURLErrorCancelled kullanılması daha iyi. – hasseg

+0

bu beni çok fazla aradı, teşekkürler! – favo

+3

Bu hata, bir kod kokusu da olabilir. Bunu göz ardı ederek değil, "viewDidLontrol" içine "viewDidAppear" (web görünümünü yüklerken birden çok kez tetikleyebilir) yük tetikleme yöntemi çağrısı yaparak. – clozach

28

NSURLErrorCancelled (-999)

"uyumsuz bir yük iptal edildiğinde bir yükleme kaynakta işlemi iptal gerçekleştirdiğinde. Web Kiti çerçeve temsilci bu hata alırsınız döndü. Not bir NSURLConnection veya İndirme iptal edilirse NSURLDownload delegesi bu hatayı almayacaktır. "

benim durum için

(ve muhtemelen size ait) bu göz ardı edilebilir:

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

yukarıdaki İKİ yanıt yükleme isteği iptal neden olursa sadece bir dönüş yapmak > DOĞRU oldu.

Ayrıca ben, bu doğru meseleyi lekelenme ile çok fazla zaman kaybetmeden önleyebilir insanlar sizin didFailLoadWithError yöntemin içinde bir NSLog koymak unutmayın DEĞIL, işaret etmek istiyorum! (Genel olması şartıyla) ve nasıl size ayar kodunda bu görünümü ve temsilci yararlı olabilir

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