[英]Random error on loading a static resource with a UIWebView
我正在使用UIWebView
加载应用程序捆绑包中随附的静态资源。 有时,我不清楚问题可能是什么,我在委托方法中收到以下错误- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
NSUnderlyingError = "Error Domain=kCFErrorDomainCFNetwork Code=-1001
资源是通过NSURLRequest
加载的,我在其中设置了10秒的超时间隔,但是没有遵循该间隔。 实际上,在调试控制台中,我可以看到大约2秒后调用了错误委托。
NSURL *htmlFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"root" ofType:@"html"] isDirectory:NO];
NSURLRequest* htmlRequest = [NSURLRequest requestWithURL:htmlFile cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:10.0];
[webView loadRequest:htmlRequest];
事实是,我不能总是重复出现的问题。 有什么建议么?
PS我正在使用从4.3开始运行的应用程序。 问题也出在iOS 7上。
根据Apple CFNetwork Error Codes Reference
此代码是超时错误:
kCFURLErrorTimedOut = -1001
超时并非总是很容易重现,最有可能在您初始化NSURLRequest
时应延长超时值。
根据同一文档,您可以查询对象以获取其他信息。
例如:
if (CFEqual(CFErrorGetDomain(err), kCFErrorDomainCFNetwork) && CFErrorGetCode(err) == kCFHostErrorUnknown) {
CFDictionaryRef userInfo = CFErrorCopyUserInfo(err);
CFNumberRef number = (CFNumberRef) CFDictionaryGetValue(userInfo, kCFGetAddrInfoFailureKey);
...
CFRelease(userInfo);
}
我想您正在寻找的资源不可用。 确保路径正确(ios区分大小写),并且如果要从Internet下载某些内容,请确保下载已完成,并且文件已从临时文件夹复制到最终目的地。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.