2009-08-28 5 views
2

'파일 및 URL에 쓰기'섹션을이 link으로 스크롤하면 경로가 디스크에있는 파일이어야합니까? 번들에있는 파일에 쓸 수 있습니까? 항상 먼저 배포해야합니까?번들에있는 파일에 쓰기?

+0

응용 프로그램 번들에 저장된 파일에 쓸 수 있는지 묻고 있습니까? – mipadi

답변

11

파일을 원하는만큼 응용 프로그램 번들에 쓸 수 있습니다. NSBundle의 pathForResource:ofType: 메서드를 통해 파일의 경로를 가져 오면 해당 파일에 쓸 수 있습니다. 번들의 디렉토리 만 원하면 resourcePath을 사용하십시오.

을 쓰려면이 필요합니다. 여러 가지 이유가 있지만 코드 서명이 중단 될 수 있습니다. 이는 큰 문제입니다. 대신 기존 규정을 사용해야합니다 (예 : 도서관 지원 : 응용 프로그램 지원 : 귀하의 응용 프로그램).

EDIT : 내가 이것을 처음부터 배웠을 때, 나는 코코아 프로그래밍을 배웠을 때 라이브러리에 신경 쓰지 않기 때문에 번들에 저장했다. 하지만, 프로그램을 변경할 때마다 해당 프로그램의 저장된 데이터/설정을 모두 잃어 버리기 때문에 (실제로는 사용자 환경 설정에 NSUserDefaults을 사용하지 않는다고 가정하기 때문에) 실제로 성가시다. 나는 이전 버전에서 새로운 버전으로 옮겨야했습니다. 라이브러리를 사용하면이 점에 대해 걱정할 필요가 없습니다.

+1

또한 _all_ 사용자는 응용 프로그램 번들의 파일 및 디렉토리에 쓸 수 없습니다. 당신은 정말로 앱 번들에 글을 쓰지 않을 것입니다. – mipadi

+0

예, 좋은 지적입니다. – Cinder6

5

번들이 디스크에 있습니다. 그냥 ".app"디렉토리 일뿐입니다. 그러나이 디렉토리의 파일에는 쓰지 말아야합니다. 현재 Mac에서는 가능하지만 코드 서명이 중단됩니다. iPhone에서는 이미 자신의 번들에 쓸 수 없기 때문에 앞으로 Mac에서이 제한 사항을 볼 것으로 예상됩니다. ~/Library 또는 ~/Documents 아래의 여러 디렉토리에 응용 프로그램 파일을 작성해야합니다. 안내를 받으려면 File System Programming Guide을 참조하십시오.

+0

링크가 끊어졌습니다! –

+1

새 위치에 대한 링크가 업데이트되었습니다. –