디렉토리에있는 파일을 삭제하고 난 다음 지침이 있습니다IOS는 : 내가 ASiHttpRequest로 PDF 파일을 다운로드 내 응용 프로그램에서
이NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
[currentDownload setDownloadDestinationPath:[documentsDirectory stringByAppendingPathComponent:@"file.pdf"]];
는 처음에 잘 작동, 나는이 file.pdf를 열 수 있습니다 ,하지만이 PDF를 두 번째로 다운로드하면 파일을 대체하지는 않지만 병합을 수행하는 것처럼 보입니다.
이 작업을 수행하기 전에 문제가 발생하거나 경로에서이 file.pdf를 삭제하는 가장 좋은 방법은 무엇입니까? 이제 편집
- (void) removeFile{
NSString *extension = @"pdf";
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPDF = [paths objectAtIndex:0];
NSArray *contents = [fileManager contentsOfDirectoryAtPath:documentsDirectoryPDF error:NULL];
NSEnumerator *e = [contents objectEnumerator];
NSString *filename;
while ((filename = [e nextObject])) {
if ([[filename pathExtension] isEqualToString:extension]) {
[fileManager removeItemAtPath:[documentsDirectoryPDF stringByAppendingPathComponent:filename] error:NULL];
}
}
}
그 디렉토리에 "file.pdf는"NSLog
에NSLog(@"Documents directory before: %@", [fileManager contentsOfDirectoryAtPath:[paths objectAtIndex:0] error:&error]);
그러나 그것을가 인식이 방법을
- (void) removeFile{
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths objectAtIndex:0]stringByAppendingString:@"/file.pdf"];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSLog(@"Documents directory before: %@", [fileManager contentsOfDirectoryAtPath:[paths objectAtIndex:0] error:&error]);
if([fileManager fileExistsAtPath:path] == YES)
{
NSLog(@"file exist and I delete it");
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager removeItemAtPath:path error:&error];
NSLog(@"error:%@", error);
}
NSLog(@"Documents directory after: %@", [fileManager contentsOfDirectoryAtPath:[paths objectAtIndex:0] error:&error]);
}
이 방법을 사용 충돌 후
"NSLog(@"file exist and I delete it");"
나는 "lldb"를 consolle에만 가지고 있습니다.
아마 문제가''ASIHttpRequest'' 파일이 존재하는지 감지하고 다운로드를 다시 시작된다고 가정한다에 상주, 설정하려고''allowResumeForFileDownloads''에를' 'NO'' – tkanzakic
mmmm 아니요 작동하지 않습니다 ... – CrazyDev
다른 옵션은 캐시 문제 일 수 있습니다. 캐시에서 응답을 얻었는지 확인하기 위해''didUseCachedResponse'' 속성 값을 검사 할 수 있습니다. 캐시되지 않도록하고,''cachePolicy''와''cacheStoragePolicy''를 가지고 놀면 캐시를 활성화/비활성화 할 수 있습니다. – tkanzakic