2014-12-04 7 views
0

this 페이지에 따르면 LSOpenApplication 기능은 OS X v10.10 이후 사용되지 않습니다. 제안 된 대안은 대신 -[NSWorkSpace launchApplicationAtURL]을 사용하는 것입니다. 불행히도 저는 C++에서 코코아로 작성된 GUI 응용 프로그램을 실행해야하는 사용자 에이전트를 작성하고 있습니다. 이것은 내가 코코아 기능에 접근 할 수 없다는 것을 의미한다.LSOpenApplication이 (가) 지원되지 않습니다.

지원되지 않는 것으로 표시되지 않은 다른 기능은 무엇입니까?

미리 감사드립니다.

답변

1

LSOpenCFURLRef()을 사용하여 열려는 응용 프로그램의 URL로 응용 프로그램을 열 수 있습니다. 마찬가지로 LSOpenFromURLSpec()LSLaunchURLSpec을 사용하고 appURL 필드에 응용 프로그램의 URL을 사용할 수 있습니다.

+0

LSOpenApplication을 사용하여 프로세스에 인수를 제공 할 수 있습니까? – Alex

+0

정확하게는 아니지만 응용 프로그램에 인수를 전달하는 경우는 드뭅니다. 첫째, 응용 프로그램을 "여는"것은 응용 프로그램을 다시 열 수 있음을 의미합니다. 즉, 이미 실행 중이면 활성화되어 'rapp'Apple Event를 받게됩니다. 이 경우 실행시에만 의미가 있기 때문에 명령 줄 인수를받지 못합니다. 마찬가지로, 일반적으로 Apple Events를 통해 GUI 응용 프로그램과 통신합니다. 예를 들어 앱을 사용하여 문서를 열면 명령 줄 인수로 전달되지 않습니다. 대신, 그것은 'odoc'Apple Event에서 통과되었습니다. 'LSOpenFromURLSpec()'은'itemURLs'을 가지고 이것을 할 것입니다. –

+0

감사합니다. AppleEvent 메소드를 사용해 보겠습니다. – Alex