以下は、ASIHTTPRequestを使用してリモートサーバーからイメージをダウンロードおよびキャッシュするためのソースコードです。サーバが新しい画像で更新されていない場合は、画像のキャッシュされたコピーを使用します。それは最初の要求ですべての画像をキャッシュしており、正常に動作しています。ASIDownloadCacheが新しいコンテンツで更新されない
毎回新しいコンテンツが利用可能かどうかをサーバーでチェックする予定です。私はサーバーログをチェックして、ステータスコードを印刷しています。しかし、私は最新の画像で更新したときに新しい画像で表示されません。代わりにキャッシュされたイメージを表示しています。しかし、サーバーログは、ステータスコード200で新しいイメージを送信していると言います。この動作を回避するには、アプリケーションを削除して再インストールする必要があります。
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
request.timeOutSeconds = kDefaultTimeInterval;
request.validatesSecureCertificate = NO;
[request setDownloadCache:[ASIDownloadCache sharedCache]];
[request setCachePolicy:ASIAskServerIfModifiedCachePolicy];
[request setCacheStoragePolicy:ASICachePermanentlyCacheStoragePolicy];
[request setSecondsToCache:kSecondsToCache];
[request startSynchronous];
if (![request didUseCachedResponse]) {
NSLog(@" Cache miss. Loading resource %@", location);
} else {
NSLog(@" Cache hit!");
}
NSLog(@" *** image data size: %u bytes", [request.responseData length]);
return ([request error]) ? nil : request.responseData;
ここには何が欠けていますか?