如何在iPhone 3.0操作系统中修复NSURLErrorDomain错误-999

时间:2009-06-21 21:05:18

标签: iphone iphone-sdk-3.0

我正在尝试更新我的iPhone应用程序以使用OS 3.0。我有一个显示页面正常的UIWebView。但是,当我单击一个链接时,它会调用我的委托给didFailLoadWithError,错误是操作无法完成。 (NSURLErrorDomain错误-999。)我确认这仍然适用于OS 2.2.1,所以它在3.0中发生了变化。

有什么想法吗?

3 个答案:

答案 0 :(得分:119)

我能够找到答案here

此主题包含此错误的说明:This error may occur if an another request is made before the previous request of WebView is completed...

我通过忽略此错误并让webview继续加载来解决这个问题。

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

答案 1 :(得分:28)

NSURLErrorCancelled(-999)

“取消异步加载时返回.Web Kit框架委托在加载资源上执行取消操作时将收到此错误。请注意,如果取消下载,NSURLConnection或NSURLDownload委托将不会收到此错误。 “

对于我的情况(可能是你的情况),可以忽略这一点:

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

答案 2 :(得分:10)

以上两个回复是正确的> 如果加载请求导致取消,只需返回。

另外我想指出的是,人们不要忘记在您的 didFailLoadWithError 方法中放置NSLog ,这可以防止因发现问题而浪费大量时间马上!

所以这是我上面提到的最终解决方案:

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