Тестирование, может ли приложение открыть определенный тип?
Вопрос
Как в Mac OS X узнать, открывает ли данное приложение определенный тип?
Меня интересуют две ИМП:public.text и public.image, и у меня есть список приложений.Я хочу отфильтровать список по этим двум типам, чтобы у меня был список программ просмотра текста и список программ просмотра изображений.
Я видел похожий вопрос на SO, где можно получить список всех читателей для определенного типа документа.Я мог бы сделать это и получить пересечение множества, но я бы предпочел задавать вопросы каждому приложению индивидуально.
Есть ли для этого какие-либо призывы к Cocoa или Carbon?
Решение
Если вам нужен список приложений для данного типа документа, используйте Лскопиаллрололехандлерсфорконтенттипе.
Если вам нужен список типов документов для определенного приложения, откройте файл Info.plist приложения и прочитайте Типы документов CFBundleDocumentTypes ключ.
Другие советы
Запуск услуг твой друг.Но я не думаю, что существует какой-либо API, который бы обеспечивал поддержку UTI конкретным приложением, поэтому, к сожалению, я бы предложил вам использовать то, что вы уже описали.