我想知道如何使用ASIHTTP检查和更新我的iPhone文件
到目前为止,我有:__block BOOL complete = NO;
__block BOOL failed = NO;
/* doing the actual check. replace your existing code with this. */
NSURL *url = [NSURL URLWithString:@"http://notasdasd.com/file.txt"];
ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:url];
[request setDownloadCache:[ASIDownloadCache sharedCache]];
[request setCachePolicy:ASIAskServerIfModifiedCachePolicy|ASIFallbackToCacheIfLoadFailsCachePolicy];
[request setCompletionBlock:^{complete = YES;}];
[request setFailedBlock:^{failed = YES;}];
[request startSynchronous];
NSString *latestText = [request responseString];
我想检查缓存目录中的旧版本,并将最后修改的标题与缓存目录中文件的修改日期进行比较,然后替换。
答案 0 :(得分:8)
尝试这样的事情:
if([[NSFileManager defaultManager] fileExistsAtPath:filePath]){
NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:&error];
NSDate *fileDate =[dictionary objectForKey:NSFileModificationDate];
NSDate *today =[NSDate date];
if (![[[today dateByAddingTimeInterval:-(60*60*24)] earlierDate:fileDate] isEqualToDate:fileDate]) {
//file is less than 24 hours old, use this file.
}
else{
//file is older than 24 hours, replace it
}
}
答案 1 :(得分:0)
由于您正在使用下载缓存,因此它会为您执行此操作。请求完成后,响应应为最新版本,如果已更新,请求将仅再次下载实际内容。
我将如何在iphone上保存?
最简单的方法是在请求上设置downloadDestinationPath,它会将它保存在一个文件中。