2009-09-28 3 views
0

xyz.app 파일로 내 코코아 애플리케이션 실행 파일을 가지고 있습니다. 하지만이 파일을 창에 복사하면이 파일이 모든 리소스 파일과 함께 디렉토리로 표시됩니다. Mac에서 단일 파일 실행 파일을 만들 수있는 방법이 있습니까 (예 : Windows의 .exe 파일). 사용자가 리소스 파일 및 다른 파일을 볼 수 없도록 설정할 수 있습니까?코코아 + .app 파일

감사

답변

1

당신은 확장을 제공하고 하나의 파일 인 것처럼 현실에서 그것의 자원을 가진 폴더가있을 때 OS가 그것을 취급하는 폴더 번들에 대해 얘기합니다. NIB 파일은 실행 파일과 info.plist 파일뿐 아니라이 번들에 저장됩니다. 이것은 Cocoa에서 앱이 작동하는 방식입니다.

주위를 둘러 쌀 수있는 유일한 방법은 앱을 다른 언어로 작성하는 것이지만 하나의 파일을 실행할 수있는 파일이 있는지 여부는 확실하지 않습니다.

사람들이 액세스 권한을 원하지 않는 앱 디렉토리에 무엇을 저장하고 있습니까?

+0

사람들이 nib 파일 및 jpeg 파일 등을 액세스 할 수 없도록하려는 경우 – King

+0

atleast는 이러한 원본 파일과 이미지 파일을 원본 파일이 아닌 개체 파일로로드하는 방법이 있습니까 ??? – King

+0

나는 당신이 당신 자신의 파일 포맷을 생성하고 거기에 모든 리소스를 저장할 수 있다고 가정하고, 런타임에 그 리소스들을 풀기위한 코드를 작성하지만, 그것은 결국 표시 될 많은 파일들을 숨기는 많은 작업처럼 보인다. 어쨌든 화면에. 게다가 코코아가'.nib' 파일을로드 할 방법이 아니기 때문에 코코아가 .nib 파일을로드하기를 기대하지 않습니다. – mipadi

1

엄청나게 복잡한 방법이 있습니다. 예를 들어 모든 리소스 파일을 gzip으로 압축하여 런타임에 압축을 풀 수 있습니다. 그러나 그렇게할만한 이유가 없습니다. 더 많은 일을 할 수 있고, 복잡성을 추가하며, 앱을 느리게 만들 수 있습니다. Adobe는이 작업을 수행하지 않으며 Microsoft는이를 수행하지 않으며 마이크로 ISV는이를 수행하지 않습니다. 단지 권장하지 않습니다.

+0

예를 들어, 모든 이미지 리소스를 하나의 큰 비트 맵으로 결합하고 각각의 경계 좌표를 저장할 수 있습니다 (예 : 생성 된 헤더 파일에서). 그런 다음 컨텍스트 외부에서 실제로 유용하지 않은 한 가지 작업 만 수행하면됩니다 . 또한 디스크 및 메모리 할당에서 하나의로드 만 수행하면 성능이 향상됩니다. :) –

+0

@ 제프 : 어쩌면. 그렇다고해서 반드시 당신에게 이득이되는 것은 아닙니다. 앱이로드되는 즉시 모든 이미지를 표시하려면 확실합니다. 그렇지 않으면 평균 세션 중에 많은 이미지가 표시되지 않을 경우 앱 실행 속도를 늦추거나 메모리 사용량을 늘릴 수 있습니다. 또한 여전히 "소스 파일"(이미지)을 프로그램 외부에서 쉽게 볼 수 있기 때문에 파일을 "숨기는"문제는 해결하지 못합니다. – Chuck

+0

그럼 얘들 아 니가 최종 사용자가 펜촉 파일을 사용하지 않고 윈도우와 물건을 고칠 수 없다면 ??? – King