Ich habe eine einfache iOS native App, die ein einzelnes UIWebView lädt. Ich möchte, dass das WebView eine Fehlermeldung anzeigt, wenn die App die erste Seite innerhalb von 20 Sekunden nicht vollständig in das WebView geladen hat.iOS-App - Timeout für UIWebView laden
ich meine URL für die WebView in meiner viewDidLoad
wie folgt aus (vereinfacht) laden:
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.example.com"] cachePolicy:NSURLCacheStorageAllowed timeoutInterval:20.0]];
Der timeoutInterval
innerhalb des Codes über alles nicht wirklich „tun“, wie die von Apple hat es innerhalb des OS auf nicht wirklich 240 Sekunden Pause.
Ich habe meine webView didFailLoadWithError
Aktionen eingestellt, aber wenn der Benutzer eine Netzwerkverbindung hat, wird dies nie aufgerufen. Das webView versucht gerade weiterhin, mit meinem spinnenden networkActivityIndicator zu laden.
Gibt es eine Möglichkeit, ein Timeout für das WebView festzulegen?
jemand hier sagte die Timeout-Zeit für die Verbindung ist. Sobald es mit dem Server verbunden ist, wird kein Fehler mehr ausgelöst. Sie müssen Ihren eigenen NSTimer implementieren, nachdem er in webViewDidStartLoad verbunden ist und Sie selbst abbrechen http://stackoverflow.com/questions/1883888/nsmutableurlrequest-timeout-doesnt-trigger-if-data-starts-to-load-but-not- webvi – mask8
Das sieht genau nach was ich suche ... könntest du mir vielleicht eine Anleitung geben, wie ich es umsetzen kann? (Ich bin ein Objective-C newby) – adamdehaven
Ich muss nur wissen, was Sie dafür setzen: '- (void) webView: NSTimer * theTimer { NSLog (@" Ich ist hier bei 1 Minute Verzögerung "); } ' Wie welche Zielmethode würde ich verwenden? – adamdehaven