1

我看到 iOS6、AFNetworking 和 NSURLConnection 的问题没有任何意义。

重现问题

  • 提出请求,任何请求,并确保其成功
  • 关闭互联网连接
  • 再次启动应用程序并再次发出相同的请求

iOS5.1

2012-10-09 15:30:43.667 CACHE TEST[3811:1bb03] <NSMutableURLRequest http://myserver.in/someImage.png>
2012-10-09 15:30:43.674 CACHE TEST[3811:1bb03] -[AFURLConnectionOperation connection:didReceiveData:]
2012-10-09 15:30:43.675 CACHE TEST[3811:1bb03] -[AFURLConnectionOperation connectionDidFinishLoading:]

数据被拾取[从我假设的 NSURLCache],并被connectionDidFinishLoading调用。

iOS6.0

2012-10-09 15:32:34.578 CACHE TEST [3877:1e903] <NSMutableURLRequest http://myserver.in/someImage.png>
2012-10-09 15:32:34.578 CACHE TEST [3877:1e903] -[AFURLConnectionOperation connection:didFailWithError:]

数据未被拾取[我验证了 NSURLCache 的 Cache.db 确实在 sqlite db 中有该图像作为 blob],并被connection:didFailWithError:调用。

我在 API 差异中没有发现任何表明NSURLConnection、NSURLRequest 或 NSURLCache有任何相关变化的东西。

结果是,当应用程序在 5.1 上离线运行时调用成功块,而在 iOS6.0 上调用失败块

更新

编写了一个测试来确认 NSURLConnection、NSURLRequest 或 NSURLCache 的行为没有不同。

在http://github.com/abhinittiwari/NSURLCacheTest找到它

4

0 回答 0