Cocoa touch iOS模拟器正在连接IDReceiverResponse,无需Internet

Cocoa touch iOS模拟器正在连接IDReceiverResponse,无需Internet,cocoa-touch,ios-simulator,nsurlconnection,Cocoa Touch,Ios Simulator,Nsurlconnection,我一直在考虑是否应该发布这个问题,但我试图理解可能发生的事情,却不知道 我的应用程序从服务器下载一些xml文件。 我在没有互联网连接的情况下尝试过(我的路由器关闭,wifi关闭),但模拟器一直收到200 http响应,并显示下载的数据 我已经记录了响应的状态代码和get 200,并且currentRequest url和信息是正确的(资源的url) 模拟器获取数据的地方是否有缓存或其他东西 模拟器状态栏上的网络图标始终处于打开状态。您可以尝试此代码。它不缓存数据 NSMutableDictio

我一直在考虑是否应该发布这个问题,但我试图理解可能发生的事情,却不知道

我的应用程序从服务器下载一些xml文件。 我在没有互联网连接的情况下尝试过(我的路由器关闭,wifi关闭),但模拟器一直收到200 http响应,并显示下载的数据

我已经记录了响应的状态代码和get 200,并且currentRequest url和信息是正确的(资源的url)

模拟器获取数据的地方是否有缓存或其他东西


模拟器状态栏上的网络图标始终处于打开状态。

您可以尝试此代码。它不缓存数据

 NSMutableDictionary* headers = [[[NSMutableDictionary alloc] init] autorelease];
[headers setValue:@"no-cache" forKey:@"Cache-Control"];
[headers setValue:@"no-cache" forKey:@"Pragma"];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:TIMEOUT_REQUEST];
[request setHTTPMethod:@"GET"];
[request setAllHTTPHeaderFields:headers];

解决此问题的简单方法是使用以下方法
NSMUtableURLRequest

[request setCachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData];
nsurlRequestReloadIgnoringLocal和RemoteCacheData
值是最严格的“永远不要缓存任何东西!”选项,但是如果您想要更具体的控制,请查看
NSURLRequestCachePolicy
枚举的文档,以了解所有可能的选项