2010-11-24 4 views
5

Ich teste ein UIWebview mit einer Reihe von verschiedenen Dokumenttypen - .xlsx, .jpg usw. - und es öffnet die meisten von ihnen gut. Von Zeit zu Zeit, öffne ich eine lokale Datei und diese Meldung erscheint rechts in der Web-Ansicht:Erkennen und Anpassen von UIWebView Fehler "Ich kann das Dokument nicht lesen"

Unable to Read Document 
An error occurred while reading the document 

ich nicht besorgt bin mit „Warum“ dieser Fehler auftritt - es geschieht, zum Beispiel, wenn ich den Feed UIWebView (absichtlich) eine Müll-Datei. Das Problem ist, dass ich nicht herausfinden kann, wie "wann" das erkannt wird. Es löst keine webView: didFailLoadWithError, ist es nicht eine NSException (via @try & @catch) auslöst, und wenn ich inspizieren das Dokument in webViewDidFinishLoad, webView.request.HTTPBody ist null.

Wer weiß, wie UIWebView Inhalte nicht anzeigen kann?

+0

Es ist eine alte Frage, aber in meinem Fall arbeitete 'webView: didFailLoadWithError' für mich in iOS 7/8. Die Verwendung von 'stringByEvaluatingJavaScriptFromString' lieferte manchmal Daten, aber es war nicht die, nach der ich suchte (alte? Müll-Datei?). – testing

Antwort

3
just call uiwebview delegate method 

- (void)webViewDidStartLoad:(UIWebView *)webView 
{ 

} 
- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    NSString *html = [webView stringByEvaluatingJavaScriptFromString: 
         @"document.body.innerHTML"]; 
    if ([html rangeOfString:@"Unable to Read Document."].location == NSNotFound) { 

     NSLog(@"NO Error"); 

    } 
    else 
    { 
//  NSLog(@"File contains Error"); 
    } 

} 
0

Wenn die Überprüfung des Protokolls nichts Ungewöhnliches zeigt, führen Sie es auf dem tatsächlichen Gerät aus. Als ein wenig Hilfe sagt mein Protokoll

Cannot find data converter callback for uti public.data 
Failed to generate preview 

was bedeutet, dass der Simulator fehlschlägt. Nachdem ich mit dem gleichen Problem frustriert war, ging ich durch den gesamten abschließenden Zertifizierungs- und Installations- und Bereitstellungsprozess und bestätigte auch, dass Word 97 und Pages/Pages.zip-Dateien, die Text enthalten, tatsächlich auf dem tatsächlichen Gerät gut angezeigt werden. Gelöst. Der Simulator selbst ist kaputt, was sehr ... beunruhigend ist, dass diese kleine Note nicht in die Release Notes zu kommen scheint und die Entwicklung auch ein bisschen erschwert. Allerdings ist die Arbeit um das Gerät in Xcode auswählen und bereitstellen, und es sollte funktionieren.

+1

Danke für die Antwort, aber das ist nicht das Problem. Ich habe keine Probleme beim Lesen von Word-Dateien. Ich habe Probleme, festzustellen, wenn UIWebView keine bestimmte Datei lesen kann. Es hat nichts mit Simulator-/Gerätediskrepanzen zu tun. – cetcet

+0

überprüfen Sie in der Regel für eine Null Rückgabe oder eine Null-Länge zurück. Ich benutzte die falsche Kodierung für eine Datei (ich speicherte es als Roman 8 nicht UTF) und die Routine war nicht fehlgeschlagen, aber die Zeichenfolge war 0 Länge. Ich habe 2 Tage gebraucht, um das herauszufinden. – PapaSmurf

+0

@PapaSmurf: Wer sollte etwas zurückgeben? – testing

Verwandte Themen