这个问题与this one非常相似.
但是,接受的答案(也是唯一的答案)并没有解决我的问题。
我有一个“混合”iOS 应用程序,其中包含一个 UITabView 和一组 UIWebViews,显示来自 Web 服务器的 HTML5 中的一些应用程序内容。在引擎盖下有一个小的自制缓存引擎,可以在后台缓存内容。此缓存引擎使用此行填充其数据
[NSData dataWithContentsOfURL:request.URL options:NSDataReadingUncached error:&error];
到目前为止,该应用程序运行完美,没有任何问题,但在 iOS 6 中,它不再运行了。使用调试器,我得出的结论是上面的行不起作用。当我跨过上面的行时,它只是无法加载页面,过了一会儿我收到错误 256。当我切换到 iOS 5 时,它运行完美。
我已经打印了 NSURL 对象 request.URL,它看起来应该包含“http://”部分,如下所示:
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: 方法有什么变化吗?有其他人看到这个问题吗?
最佳答案
所以,我遇到了同样的问题,但我不知道确切原因。
我假设它与 NSURLCache 线程不能很好地处理 dataWithContentsOfURL 有关。如果有人知道为什么请插话。
最重要的是,我的项目中已经有 ASIHTTP,所以我替换了它:
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]];
有了这个:
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:url]];
[request startSynchronous];
NSData *data = [request responseData];
现在一切都很好。
关于iphone - NSData dataWithContentsOfURL : stopped working in iOS 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12896990/