2011-09-09 2 views
9

Delphi XE2에서 간단한 테스트 베드 응용 프로그램을 만들고 응용 프로그램의 Win32 및 OSX 버전을 모두 컴파일했습니다.
libcgunwind dylib 런타임 파일의 복사본과 함께 OSX 버전을 압축하여이 파일을 내가 액세스 할 수있는 Mac에 복사했습니다.
파일을 압축 해제하면 Mac에서 내 OSX 응용 프로그램을 인식하고 두 번 클릭했습니다. 내 Firemonkey 앱이 OSX에서는 터미널 창을 열지 만 Win32에서는 열지 않는 이유는 무엇입니까?

이 차례로 내 간단한 응용 프로그램의 형태와 함께 어떤 알 수없는 이유로 터미널 창을 열었다.
응용 프로그램 자체가 실행되고 정상적으로 작동하지만 터미널 창이 Mac에서 열리는 이유가 궁금합니다. 당신이 bundle

나사로/FPC 애플리케이션을 통해 직접 대신에 같은 문제가 없었다 바이너리를 실행하면

+0

나는 그것과 함께 배포 한'libcgunwind dylib 런타임 파일 '과 관련이 있다고 생각합니다. – Johan

+0

나는 더 나은 단어가 부족하여 Mac OSX newb라는 것을 쉽게 인정한다. dylib를 사용하면 응용 프로그램이 실행되지 않습니다. dylib 파일은 특별한 디렉토리에 있어야합니까? 마침내 제대로 실행하려면 응용 프로그램을 Mac에 특정 어딘가에 설치해야합니까? 이것들은 제가 우둔한 것입니다. – Alan

+0

내 아내가 맥북을 갖고 있는데, 맥 지식에 관한 한, http://apple.stackexchange.com/ – Johan

답변

2

는 IIRC이 발생합니다. IIRC는 직접 실행 된 바이너리도 이러한 상황에서 이벤트를 얻지 못했지만 이러한 애플리케이션은 Carbon 기반이었습니다. 이 문제는 번들 설정 (상당히 많은 매니페스트, 몇 개의 dir 및 심볼릭 링크)을 통해 실행될 때도 사라졌습니다.

3

OSX 배포 응용 프로그램 번들을 만드는 무료 도구가 Delphi XE2에서 제공되며, PAServer없이 Windows에서.

http://enesce.com/delphiosx_bundler

검사 지침에 대한 추가 정보.

0

응용 프로그램 번들에서 응용 프로그램을 실행해야합니다. 직접 실행하면 응용 프로그램을 실행중인 명령 줄을 사용하여 터미널 창을 보는 부작용이 발생합니다.

당신은 더 Application Bundles에 대해을 읽을 수 있습니다

.

프로젝트의 이름은
/Users/[username]/Applications/Embarcadero/PAServer/scratch-dir/[profilename] 

경우 Project1의 : 당신이 Mac에서 처음으로 프로그램을 실행 한 후 PAServer를 사용하는 경우

, 응용 프로그램 번들 맥의 다음 폴더에 보면 Project1이라는 폴더에 응용 프로그램 번들이 표시됩니다.

위의 위키 문서를 읽을 경우, Project1의이 .APP의 "숨겨진"확장자를 가지고 있음을 알게하고, 모든 일이 정말로 응용 프로그램을 실행하는 데 필요한 모든 파일과 폴더입니다. 맥 OS 사용자에게

는 응용 프로그램 번들은 아이콘으로 완전한 하나의 프로그램 파일로 나타납니다. 사용자는 등

응용 프로그램 번들이 기본적으로 델파이의 아이콘이 표시됩니다, 응용 프로그램을 실행 자신의 도크로 드래그하는 응용 프로그램 번들을 두 번 클릭 할 수 있지만, 당신은 당신의 자신의 아이콘으로 대체 할 수 있습니다. Mac에서는 Finder에서 응용 프로그램 번들을 마우스 오른쪽 단추로 클릭하고 패키지 내용 표시를 선택하십시오. 거기에서 .icns 파일에 대한 Contents/Resources 폴더를보십시오.

기존 이미지 파일로부터 .icns 아이콘 파일을 만들 엑스 코드와 함께 설치 한 아이콘 작곡가 응용 프로그램을 사용합니다.

내용물의 나머지 부분을 들여다 봅니다. 필요한 dylib, 프로그램 파일 및 응용 프로그램 ID, 서명 및 기타 중요한 사항이있는 텍스트 파일 인 Info.plist 파일이 표시됩니다.

관련 문제