![](/img/trans.png)
[英]Could not extract Info.plist from application: Plist file doesn't exist:
[英]I'm getting header info for a file that doesn't exist?
我正在使用從教程中獲得的代碼來查找服務器上文件的“修改日期”信息。 如下...
// create a HTTP request to get the file information from the web server
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:remoteFileURL];
[request setHTTPMethod:@"HEAD"];
NSHTTPURLResponse* response;
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
// get the last modified info from the HTTP header
NSString* httpLastModified = nil;
if ([response respondsToSelector:@selector(allHeaderFields)]) {
httpLastModified = [[response allHeaderFields] objectForKey:@"Last-Modified"];
}
而且,在大多數情況下,它都有效! WA-HOO。
除了一些文件,它似乎正在返回過時的信息。 實際上,對於至少一個文件,它返回的文件不再存在的日期( Fri, 24 Apr 2015 04:32:55 GMT
)。 我從服務器上刪除了它,但是每次運行我的應用程序時它仍會返回該值,就好像文件仍然存在一樣。
我已經檢查並重新檢查remoteFileURL
是否指向正確的URL,並且已經確認服務器上不再存在該文件。 而且,就像我說的那樣,對於大多數文件而言,它都能完美運行,因此顯然該系統並未完全損壞。
這是我第一次使用NSMutableURLRequest
和NSHTTPURLResponse
並獲得文件頭之類的經驗。 有什么我不知道的東西可以解釋這個嗎? 可能存在緩存或需要清除的內容嗎?
理想情況下,我該怎么做才能確保我的應用收到了正確的信息?
提前致謝!
發表我的評論作為答案
發生這種情況是因為NSURL的緩存機制。
嘗試添加以下行以刪除所有緩存的數據。
[[NSURLCache sharedURLCache] removeAllCachedResponses];
NSURL *url = [NSURL URLWithString:aStrFinalURL]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; [request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.