URLConnection 사용 URL에서 파일을 다운로드하고 해당 데이터를 문서 디렉토리의 파일에 저장합니다. 나는 응답을받을 때 didReceiveResponse 때 : 메서드가 호출, 나는 파일을 만들고 그 파일의 마지막에 이런 식으로 이동 :NSSearchPathForDirectoriesInDomains NSUserDomainMask
NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:self.fileName];
NSLog(@"filepath is %@",filePath);
[[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil];
file = [[NSFileHandle fileHandleForUpdatingAtPath:filePath] retain];
[file seekToEndOfFile];
경우 파일이 NSFileHandle 클래스의 객체이다. 데이터를 수신 나중에 동안 didReceiveData이 때마다, (을 NSData *) 데이터 메서드를 호출, 내가 파일에 이런 식으로 수신 된 데이터를 저장 :
[file seekToEndOfFile];
[file writeData:data];
마지막으로 나는 connectionDidFinishLoading에서 파일을 닫습니다 방법을이 방법 :
[file closeFile];
시스템에서 빌드하고 실행할 때 작동했습니다. 하지만 다른 시스템에 복사하고 나는이 오류 얻을 구축하려고 할 때 :
Terminating app due to uncaught exception `'NSFileHandleOperationException'`, reason: '*** `-[NSConcreteFileHandle seekToEndOfFile]: No such file or directory'`
내가 NSSearchPathForDirectoriesInDomain 기능에 대해 알고에 대한 http://www.techotopia.com/index.php/Working_with_Directories_on_iPhone_OS 및 What is NSSearchPathForDirectoriesInDomains?을 대해 참조를하지만 난 여전히 명확하지 않다.
UserDomainMask
은 프로젝트가있는 시스템 및 사용자에 따라 적절한 경로를 반환합니다. 그렇다면 왜 그런 오류가 발생합니까?
그들은 경로가 반환 말 (파일 경로에 저장)입니다
현재에 로그인 한 사용자의 이름입니다 경로/사용자 // 라이브러리/응용 프로그램 지원/아이폰 시뮬레이터/사용자/응용 프로그램 // 문서 시뮬레이터가 실행되고 있으며 앱의 고유 ID 인 Mac OS X 시스템
아무도 내가 왜 그러한 오류가 발생하는지 이해할 수 있습니다.
코드를 표시하십시오 ... –
질문을 변경하고 NSSearchFilePathInDirectoriesForDomain 함수가 사용되는 코드를 몇 개 추가했습니다. – aparna