AFURLConnectionOperation+;NSURLConnection在iOS5.1下的行为不同&;iOS6.0?

AFURLConnectionOperation+;NSURLConnection在iOS5.1下的行为不同&;iOS6.0?,ios6,nsurlconnection,nsurlrequest,afnetworking,nsurlcache,Ios6,Nsurlconnection,Nsurlrequest,Afnetworking,Nsurlcache,我发现iOS6、AFNetworking和NSURLConnection存在一个毫无意义的问题 转载 提出请求,任何请求,并确保其成功 关闭internet连接 再次启动应用程序并再次发出相同的请求 iOS5.1 未拾取数据[我验证了NSURLCache的Cache.db在sqlite db中确实具有作为blob的映像],并且调用了connection:didFailWithError: 我在API差异中没有发现任何表明NSURLConnection、NSURLRequest或NSURLCa

我发现iOS6、AFNetworking和NSURLConnection存在一个毫无意义的问题

转载

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

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

我在API差异中没有发现任何表明NSURLConnection、NSURLRequest或NSURLCache中有任何相关更改的内容

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

更新

编写了一个测试,以确认NSURLConnection、NSURLRequest或NSURLCache的行为没有差异


中找到有相同问题的。您还可以在第一次运行应用程序并加载url后,通过将缓存策略设置为NSURLRequestReturnCacheDataDontLoad来复制它。然后进行此更改并再次运行应用程序。现在,您将获得失败处理程序,即使它应该只是来自缓存。真的很奇怪吗?第二次发出相同的请求,您将获得成功处理程序。@mixedCase yeah。看这里,我最终使用了SDURLCache。有了这个库,一切都如我所期望的那样工作。很遗憾,我需要这个软件,这样iOS就可以以一种一致且合乎逻辑的方式运行,但至少这是一个很好的解决方法。
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:]
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:]