web-dev-qa-db-ja.com

iPhone 3.0 OSでNSURLErrorDomainエラー-999を修正する方法

OS 3.0で動作するようにiPhoneアプリを更新しようとしています。ページが正常に表示されるUIWebViewがあります。しかし、リンクをクリックすると、didFailLoadWithErrorのデリゲートが呼び出され、操作が完了できませんでしたというエラーが表示されます。 (NSURLErrorDomainエラー-999。)OS 2.2.1でまだ動作していることを確認したため、3.0で変更されました。

何か案は?

51
dp.

私は答えを見つけることができました ここ

このスレッドには、このエラーの説明が含まれていました:This error may occur if an another request is made before the previous request of WebView is completed...

このエラーを無視し、Webビューのロードを継続することで、この問題を回避しました。

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

NSURLErrorCancelled(-999)

「非同期ロードがキャンセルされると返されます。WebKitフレームワークデリゲートは、ロードリソースでキャンセル操作を実行するとこのエラーを受け取ります。NSURLConnectionまたはNSURLDownloadデリゲートは、ダウンロードがキャンセルされた場合、このエラーを受け取りません。」

私の状況(おそらくあなたの状況)では、これは無視できます。

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

上記の2つの返信は正しかった>読み込み要求によってキャンセルが発生した場合は、返品するだけです。

また、人々NSLogを入れることを忘れないでくださいdidFailLoadWithErrorメソッド内で、問題をすぐに見つけることで多くの時間を失うことを防ぐことができます!

それで、ここに私が上で述べたすべての最終的な解決策があります:

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