Тестирование, если приложение может открыть определенный тип? - PullRequest
0 голосов
/ 23 января 2010

В Mac OS X как узнать, открывает ли данное приложение определенный тип?

У меня есть два UTI, которые меня интересуют: public.text и public.image, и у меня есть список приложений. Я хочу отфильтровать список по этим двум типам, чтобы у меня был список средств просмотра текста и список средств просмотра изображений.

Я видел связанный вопрос о SO, где можно получить список всех читателей для определенного типа документа. Я мог бы сделать это и получить пересечение множества, но я бы предпочел спросить каждое приложение в отдельности.

Есть ли какие-либо призывы к Какао или Карбон для этого?

Ответы [ 2 ]

2 голосов
/ 23 января 2010

Если вам нужен список приложений для данного типа документа, используйте LSCopyAllRoleHandlersForContentType .

Если вы хотите список типов документов для конкретного приложения, откройте Info.plist приложения.файл и прочитайте ключ CFBundleDocumentTypes .

0 голосов
/ 23 января 2010

Службы запуска - ваш друг. Но я не думаю, что есть какой-либо API, который получает UTI, поддерживаемые данным приложением, поэтому я бы предложил вам использовать, к сожалению, то, что вы уже описали.

...