2010-01-23 3 views
0

Mac OS X에서 특정 응용 프로그램이 특정 유형을 열었는지 어떻게 알 수 있습니까?응용 프로그램이 특정 유형을 열 수 있는지 테스트하십시오.

내가 관심있어하는 UTI는 public.text와 public.image 두 가지이며 응용 프로그램 목록이 있습니다. 나는이 두 가지 유형별로 목록을 필터링하여 텍스트 뷰어 목록과 이미지 뷰어 목록을 갖기를 원합니다.

특정 문서 유형에 대한 모든 뷰어의 목록을 얻을 수있는 곳에서 관련 질문을 보았습니다. 나는 그것을 할 수 있었고 세트의 교차점을 얻을 수 있었지만 오히려 각 어플리케이션을 개별적으로 요청할 수있었습니다.

코코아 또는 탄소 요구가 있습니까?

답변

2

주어진 문서 유형에 대한 응용 프로그램 목록을 보려면 LSCopyAllRoleHandlersForContentType을 사용하십시오.

특정 응용 프로그램의 문서 형식 목록을 보려면 응용 프로그램의 Info.plist 파일을 열고 CFBundleDocumentTypes 키를 읽으십시오.

+0

Pitfall : CFBundleDocumentTypes 사전에 항상 콘텐츠 유형 목록이있는 것은 아닙니다. 이 경우 각 사전의 다른 유형 (파일 이름 확장자, OS 유형 등)을 검토하고 UTI를 찾아야합니다. –

0

Launch Services은 (는) 친구입니다. 하지만 UTI가 특정 앱에서 지원되는 API가 있다고 생각하지 않으므로 불행히도 이미 설명한 내용을 사용하는 것이 좋습니다.