5

さまざまなドキュメント タイプ (.xlsx、.jpg など) を使用して UIWebview をテストしていますが、それらのほとんどは問題なく開きます。ときどきローカル ファイルを開くと、次のメッセージが Web ビューに表示されます。

Unable to Read Document
An error occurred while reading the document

このエラーが発生する「理由」には関心がありません。たとえば、UIWebView にガベージ ファイルを (意図的に) フィードしたときに発生します。問題は、これが「いつ」発生するかを検出する方法がわからないことです。webView:didFailLoadWithErrorをトリガーせず、( @try & @catchを介して) NSExceptionをトリガーせず、 webViewDidFinishLoadでドキュメントを検査すると、webView.request.HTTPBodyは null です。

UIWebView がコンテンツを表示できない場合を検出する方法を知っている人はいますか?

4

2 に答える 2

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");
    }

}
于 2013-06-27T10:17:57.853 に答える
0

ログを調べても異常がなければ、実際のデバイスで実行してください。ちょっとした助けとして、私のログは言う

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

これは、シミュレーターが失敗していることを意味します。この同じ問題に不満を感じた後、最終的な認証、インストール、およびプロビジョニングのプロセス全体を実行し、テキストを含む Word 97 および Pages / Pages.zip ファイルが実際のデバイスで問題なく表示されることも確認しました。解決しました。シミュレーター自体が壊れており、非常に困っています。この小さなメモがリリース ノートに記載されていないようで、開発が少し複雑になっています。ただし、回避策は、Xcode でデバイスを選択して展開することであり、それは機能するはずです。

于 2011-02-27T01:18:41.173 に答える