문제

연결하고 싶습니다 마지막으로 설치되었습니다 특정 유형의 파일이있는 Mac OS X 응용 프로그램의 버전. 약간의 실험은 info.plist 애플리케이션 번들을 디스크로 드래그 할 때가 아니라 응용 프로그램을 시작할 때 운영 체제가 파일을 읽고 해석하는 것으로 보입니다. 런타임 구성에 대한 Apple의 문서 그 주제에 대해 많이 말하지 않습니다.

간단한 방법이 있습니까? .dmg 시스템이 해당 파일 유형을 새로 설치된 앱과 연결하도록 설치 매체로 이미지 그것을 시작하지 않고 첫 번째?

설치 중에 자동으로 수행되기를 원한다는 것을 분명히해야합니다 (사용자가 직접 수행 할 필요가 없습니다).

도움이 되었습니까?

해결책

사용자가 응용 프로그램을 응용 프로그램 폴더로 드래그하면 시스템은 발사 서비스에 자동으로 등록해야합니다. 보다 신청 등록 런칭 서비스 안내서에서.

다른 팁

응용 프로그램을 연관시키려는 파일에 Apple-I를 입력하고 "Open With ..."라는 작은 상자를 사용하고 앱을 선택하여이를 수행 할 수 있습니다. 아래의 작은 상자를 아래의 작은 상자를 "모두 변경합니다 ..."를 확인하여 모든 유사한 파일에 대한 변경을 수행 할 수 있습니다.

Tony의 정보는 정확하지만 설명했습니다 여기 - (드래그하고 있습니다 MyApp.app 에게 Applications 정보를 사용하여 자동으로 런칭 서비스에 등록합니다 Info.plist XML 파일 및 설정 파일 연결)) 파일 협회에 대한 질문에 완전히 답하지 않습니다.

사람들 이이 지침을 따르면 응용 프로그램을 열지 만 특정 파일은 열리지 않습니다.

...] 시스템이 그것을 연관시켜야합니다 특정 파일 유형 새로 설치된 앱으로

파일 연관은 다른 플랫폼과 비교할 때 Mac에서 약간 다릅니다. 대부분의 플랫폼 *.foo 에 등록되어 있습니다 myapp, 언제 MyFile.foo 두 번 클릭하면 다음의 선을 따라 무언가를 발산합니다.

/path/to/myapp MyFile.foo

그리고 성공한 Mac의 명령 줄 에서이 기술을 자유롭게 사용할 수 있지만 간단히 Finder를 통해 작동하지 않습니다 또한 데스크탑에서 관련 파일을 두 번 클릭하여 작동하지 않습니다.

여기에서 질문하고 대답했습니다.

https://stackoverflow.com/a/19702342/3196753

일부 주장은이 접근법이 보수적 인 문서 개방 파일 취급에 비해 유리하다는 것입니다. main() "응용 프로그램의 한 인스턴스 만 엽니 다". 이 결정의 추론에 관계없이 C ++ 관점에서 문제를 더욱 복잡하게 만듭니다.

  • 108 페이지 PDF를 사용할 수 있습니다 여기 (경고, 이것은 "레거시"로 표시되며 LinkRot가 발생할 수 있습니다).
  • Apple의 개발자 포털의 관련 문서가 있습니다 여기.
  • QT의 접근 방식이 문서화됩니다 여기.

qt.io에서 :

사용자가 Finder의 파일을 두 번 클릭하면 Finder가 Apple 이벤트를 파일과 관련된 응용 프로그램으로 보내 파일을 열도록 요청합니다. 응용 프로그램이 실행되지 않으면 시작된 다음 요청이 이루어집니다. 이 접근법의 장점은 응용 프로그램이 실행중인 인스턴스가 하나만 있다는 것입니다.

Windows에서는 일반적으로 응용 프로그램을 시작하고 파일 이름을 명령 줄 인수로 전달하여 수행됩니다. 많은 파일을 보면 동일한 응용 프로그램의 많은 인스턴스가 시작됩니다. (QT Solution으로 사용할 수있는 QTSINGLEPLOPLICATION 구성 요소는이 문제를 해결합니다.)

QT 3은 Apple 이벤트를 처리하기위한 추상화를 제공하지 않지만 Mac의 Carbon API를 사용하여 응용 프로그램에 지원을 추가하는 것이 간단합니다. XPM 파일 (X11 이미지 형식)을 표시하는 XPMViewer라는 응용 프로그램이 있다고 가정 해 봅시다. 주요 창 클래스 선언은 다음과 같습니다. [코드 스 니펫 제거

(BOOL)application:(NSApplication *)theApplication
       openFile:(NSString *)filename

C ++ Main ()가 실행되기 전에 Mac OS X 파일 파일 열기 이벤트 처리 Aeinstalleventhandler 핸들러는 시작시 요청되지 않았습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top