Я пишу приложение, которое использует Унифицированные идентификаторы типов . В частности, я звоню UTTypeCreateAllIdentifiersForTag()
и передаю различные типы MIME .
Я надеялся, что эта функция (в отличие от UTTypeCreatePreferredIdentifierForTag()
) даст мне наиболее конкретный UTI, а также все UTI, которым она соответствует. Похоже, что это не так - он либо возвращает один UTI, либо вторичные UTI являются ложными.
В этом же файле заголовка определена функция UTTypeConformsTo()
, но я бы предпочел функцию, которая возвращает массив всех типов, которым соответствует этот UTI.
Кажется, у меня есть надежда, поскольку MDItemCopyAttributeList()
вернет такой список. Тем не менее, он требует MDItemRef
, который может быть создан из пути к файлу или URL - что не очень хорошо. Иногда мои данные хранятся только в памяти, и у меня есть только MIME-тип.
Нужно ли перебирать всю базу данных UTI, чтобы получить эту информацию, или я что-то упустил?