0

这个问题与这个问题非常相似。

但是,接受的答案(也是唯一的答案)并不能解决我的问题。

我有一个“混合”iOS 应用程序,其中包含一个 UITabView 和一组 UIWebViews,显示来自 Web 服务器的 HTML5 中的一些应用程序内容。引擎盖下有一个自制的缓存引擎,可以在后台缓存内容。此缓存引擎使用此行填充其数据

[NSData dataWithContentsOfURL:request.URL options:NSDataReadingUncached error:&error];

到目前为止,该应用程序运行良好,没有任何问题,但在 iOS 6 中,它不再工作了。使用调试器我得出的结论是上面的行不起作用。当我跨过上述行时,它只是无法加载页面,过了一会儿我收到错误 256。当我切换到 iOS 5 时,它工作得很好。

我已经打印了 NSURL-object request.URL,它看起来应该并且确实包含“http://”-part,如下所示:

http://app.customername.com/.mvc/MobileApp/Index

我还尝试加载一个与应用程序网站无关的测试页面,一个我自己制作的非常简单的 html 页面,以及http://www.google.com

它们都在 iOS 5.1 中工作,但在 iOS 6 中这些页面出现了同样的问题。

我也尝试使用没有像这样的“Uncached”选项的方法,但仍然没有运气:

[NSData dataWithContentsOfURL:request.URL]

iOS 6 中的方法数据 dataWithContentsOfURL: 是否发生了一些变化,其他人看到过这个问题吗?

4

1 回答 1

2

所以,我遇到了同样的问题,我不知道确切的原因。

我假设它与 NSURLCache 线程与 dataWithContentsOfURL 不兼容有关。如果有人知道为什么,请插话。

最重要的是,我的项目中已经有 ASIHTTP,所以我替换了这个:

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]];

有了这个:

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:url]];
[request startSynchronous];        
NSData *data = [request responseData];

现在一切都很好。

于 2012-10-17T22:53:02.433 回答