2014-12-10 2 views
0

데이터를 읽으려면 dataWithContentsOfFile을 사용하고 있지만 앱을 닫고 돌아올 때는 nil을 반환합니다. 이상한 것은 내가 이미지를 캡처하여 Documents 나 tmp 폴더에 저장했을 때 동일한 실행으로 액세스하려고하면 이미지 데이터를 다시 가져옵니다. 하지만, 내가 애플 리케이션을 닫고 돌아와서 데이터를 읽을 때, 그것은 nil을 반환합니다.dataWithContentOfFile return nil

나는 dataWithContentsOfFile:options:error:를 사용하여 시도했지만 그것은 다음과 같이 나에게 오류를 줄 : 내가 APPDATA 폴더에 액세스하는 경우

Error Domain=NSCocoaErrorDomain Code=260 "The operation couldn’t be completed. (Cocoa error 260.)" UserInfo=0x14d6fb50 {NSFilePath=/var/mobile/Applications/495A5193-B8C2-4FE8-A745-7BA20221022A/Documents/ProjectName_Area_83554355-FC14-4B01-B53C-C6143633B8F5, NSUnderlyingError=0x14d6add0 "The operation couldn’t be completed. No such file or directory"} 

또한, 이미지는 위에서 언급 한 경로에 존재한다.

iOS8 SDK 때문일 것으로 생각됩니다. 하지만, 현재 시나리오에서 iOS8.1 SDK에서 개발 중이며 iOS7.1에서 실행 중입니다.

도움이되는 질문이 있으면 감사하겠습니다. 건배.

편집 :

내가 오류에 언급 된 경로로 이동 (직접 경로에서) POSTMAN에서 파일을 업로드하려고, 그것은 나에게 "잘못된 파일 형식"오류를 제공합니다. 그래서, 나는 거기에 파일이 있다고 생각하지만, 어떻게 내 코드는 그것을 읽을 수 없다.

답변

1

문제는 문서 경로에서 발생합니다. 즉, 각 실행시 iOS 7 이상에서 매번 새로운 경로를 만듭니다. 그래서 여기이 중요한 것은 'SE33JI1-9D8GD9F-9DG34J5HJ-LK345DF8DS는'앱 이름 앞에 식별자가

var/../SE33JI1-9D8GD9F-9DG34J5HJ-LK345DF8DS/YOUR_APP/DOCUMENTS/../an_example_name.png 

:

가 액세스하려고 경로는이 같은 몇 가지 일이 될 것 예를 들면 다음과 같습니다 , 이미지 경로에. 앱을 실행할 때마다 iOS는 앱 콘텐츠의 보안으로 인해이 식별자 대신 새로운 값을 할당합니다. iCloud에 새로운 기능이 추가 될 수도 있습니다.

그래서 해결책은 이미지 디렉토리의 전체 경로를 저장하는 대신 앱이 실행될 때마다 문서 경로를 가져 오는 것입니다.

0

이 스택 오버플로 게시물 The operation couldn’t be completed. (Cocoa error 260.)은 파일이 존재하지 않는 것으로 보입니다.

+0

질문에서 이전에 말한 것처럼 파일/이미지는 실제로 오류 설명에 언급 된 경로에 있습니다. 또한, 이것은 내 코드의 경우가 아닙니다. 나는 파일을 캡쳐하고 저장할 때 같은 실행에서 읽을 수 있습니다. 하지만 내가 앱을 종료하고 앱을 다시 실행하면 읽을 때마다 nil을 반환하기 시작합니다. –

+0

응용 프로그램 실행이 다른 경우 파일이 이전에 저장되었던 위치가 더 이상 존재하지 않을 수도 있습니다. 원래 파일을 작성하고 위치를 저장하는 방법에 대한 일부 코드는이 문제를 파악하는 데 도움이됩니다. – darren102