iOS App - Zeitlimit für das Laden von UIWebView festlegen

Habe ich eine einfache iOS app, die Lasten einer einzigen UIWebView. Ich möchte die webView zeigen eine Fehlermeldung, wenn die app nicht VOLLSTÄNDIG geladen, die erste Seite in der webView innerhalb von 20 Sekunden.

Lade ich meine URL für das webView in meiner viewDidLoad wie folgt aus (vereinfacht):

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.example.com"] cachePolicy:NSURLCacheStorageAllowed timeoutInterval:20.0]];

Den timeoutInterval im code oben nicht wirklich "tun" etwas, denn Apple hat es in der OS nicht wirklich die Zeit für 240 Sekunden.

Habe ich meine webView didFailLoadWithError Aktionen setzen, aber wenn der Benutzer über eine Netzwerkverbindung, diese wird nie genannt. Die webView-nur weiter zu laden mit meinem networkActivityIndicator Spinnen.

Gibt es eine Möglichkeit ein timeout für die webView?

Kommentar zu dem Problem
jemand hier sagte, das timeout-Intervall für den Verbindungsaufbau. Sobald es mit server verbunden, es wird nicht werfen Fehler mehr. Sie implementieren müssen, um Ihre eigenen NSTimer, nachdem Sie es angeschlossen, in webViewDidStartLoad und stornieren, indem Sie sich stackoverflow.com/questions/1883888/... Kommentarautor: mask8
Das sieht aus wie genau das, was ich Suche... könnte Sie vielleicht geben Sie mir einige Hinweise auf, wie es zu implementieren? (Ich bin ein Objective-C-newby) Kommentarautor: adamdehaven
Ich brauche nur zu wissen, was zu setzen: -(void)webView: NSTimer * theTimer { NSLog(@"Mir ist hier auf 1 minute"); } Wie die Ziel-Methode sollte ich verwenden? Kommentarautor: adamdehaven
Ich schrieb gerade einen sehr einfachen code, den Sie wollen vielleicht zu start aus 🙂 hoffe es hilft Kommentarautor: mask8

InformationsquelleAutor der Frage adamdehaven | 2012-07-23

Schreibe einen Kommentar