この単純な http リクエストを使用して、s3 サーバーからファイルをダウンロードしています。
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDidFinishSelector:@selector(done:)];
[request setDownloadDestinationPath:dest];
[request setDownloadProgressDelegate:pv];
[request setDelegate:self];
[request setShowAccurateProgress:YES];
[request setShouldContinueWhenAppEntersBackground:YES];
[request startAsynchronous];
pv.hidden = NO;
[request setFailedBlock:^(void) {
NSLog(@"Download failed: %@. reason:%@", url, [request.error localizedDescription]);
}];
[request setCompletionBlock:^(void){
NSString *zipFilePath = dest;
[SSZipArchive unzipFileAtPath:zipFilePath toDestination:desti];
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager removeItemAtPath:zipFilePath error:NULL];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"ההורדה הסתיימה" message:@"מה ברצונך לעשות" delegate:self cancelButtonTitle:@"חזרה לתפריט" otherButtonTitles:@"נגן אפליקציה",nil];
[alert show];
}];
ダウンロードはうまくいきますが、問題はリクエストが常に成功することです。リクエストURLに存在するファイルがない場合でも失敗しません。