2009-08-13 6 views
2

동일한 번들을 공유 할 수있는 자체 plist를 가진 실행 파일 두 개를 가질 수 있습니까? 그런 다음 앱이 실행되는 방식 (매개 변수)에 따라 적절한 실행 파일이로드됩니다.MAC에서 한 번에 두 개의 실행 파일

메인 애플리케이션 (UI로 실행 가능)과 미니 애플리케이션 (기본 애플리케이션의 짧은 버전에 자체 UI 포함)이 있고 애플리케이션 시작에 사용 된 매개 변수 사용자에 따라 적절한 애플리케이션이 실행되는 경우를 상상해보십시오. 동일한 번들로 실행 가능합니다.

건배

답변

0

나는 당신을 이해합니다. 두 개의 실행 파일 사이에서 plist를 공유하려고합니다. 각 경우에 동일한 plist를 참조하십시오 : tutorial for single executable plist.

+0

그렇게 생각하지 마십시오. OP가 원한 것은 두 개의 관련없는 plist 정보와 함께 동일한 .app 폴더 내에 두 개의 독립 실행 파일을 저장하는 것입니다. –

+0

2 개의 실행 파일에 대해 하나의 plist를 공유하고 싶지 않습니다. 내가 원한 것은 자신의 plist와 리소스가있는 하나의 앱을 다른 앱과 동일한 번들에 포함시킨 다음 제공 한 매개 변수에 따라 자체 애플리케이션을 사용하려는 적절한 애플리케이션을 시작하는 것입니다. 건배 Dejan –

0

가능한지 모르겠습니다. 솔직히 나는 plist 정보가 아이콘을 정의하는 데에도 사용되기 때문에 의심 스럽습니다. 그래서 가능하면 Finder를 혼동하게됩니다 (어떤 아이콘이 표시되어야합니까?). 그러나 나는 Bundles의 전문가가 아니다.

해결 방법을 제공합니다. 매개 변수에 따라 적절한 실행 파일을 실행하는 demultiplexing 스크립트를 만든 다음 스크립트를 plist 정보와 연결하십시오.

2

정확히는 아니지만 비슷한 결과를 얻을 수 있습니다.

실행하려는 코드 버전을 파악한 다음 다른 버전을 실제로 구현하는 여러 플러그인 번들 (응용 프로그램의 리소스)을 가질 수있는 마스터 응용 프로그램 번들을 가질 수 있습니다. 각 플러그인 번들에는 Info.plist/nib 파일/등이 있습니다.

번들을로드하고 코드를 실행하는 방법에 대한 자세한 내용은 documentation for NSBundle을 참조하십시오.

+0

그건 "맥 웨이"라고하는데, 내 애플 리케이션이 이렇게 작동합니다. NSBundle API는 이름, 번들 ID 또는 경로별로 메모리에 필요한 코드 번들을로드하는 수단을 제공합니다. 필자의 말은 서브 번들은 Plugins 디렉토리가 아니라 Resources 디렉토리에 들어 가지 않는다는 것입니다. "메인"애플리케이션 번들 내에 특별한 번들이 있습니다. 특히 Xcode 내에서 "Copy files"빌드 단계에서 플러그인 번들을 메인 번들에 복사합니다. "Plugins"을 복사 할 디렉토리로 선택하십시오. –