2011-12-11 10 views
1

私はこの質問を投稿しなければならないと思っていましたが、何が起こっているのか分かりませんでした。iOSシミュレータがインターネットに接続されていないConnectDidReceiveResponse

私のアプリはいくつかのXMLファイルをサーバからダウンロードします。 私はインターネット接続なしで(私のルーターはオフになっていますが、WiFiはオフです)、シミュレータは200のHTTPレスポンスを得て、ダウンロードしたデータを表示し続けます。

私はレスポンスのステータスコードを記録し、200を取得し、currentRequestのURLと情報は正しい(リソースのURL)。

シミュレータがデータを取得するキャッシュなどがありますか?

シミュレータのステータスバーにあるネットワークアイコンは常にオンです。

答えて

2

このコードを試すことができます。データをキャッシュしません。

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]; 
1

この問題を解決するためにASYの方法は、NSMUtableURLRequest次の方法を使用することです:

[request setCachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData]; 

​​値が最も厳しいが、「これまでに何をキャッシュしません!」ですあなたがより具体的なコントロールをしたい場合は、すべての可能なオプションについてNSURLRequestCachePolicy列挙型のドキュメントを見てください。

関連する問題