我正在编写一个使用Uniform Type Identifiers的应用程序。具体来说,我正在调用UTTypeCreateAllIdentifiersForTag()
并传递各种MIME类型。
我希望这个函数(不同于UTTypeCreatePreferredIdentifierForTag()
)会给我最具体的 UTI 以及它符合的所有 UTI。情况似乎并非如此——它要么返回单个 UTI,要么次要 UTI 是虚假的。
在同一个头文件中定义了该UTTypeConformsTo()
函数,但我更喜欢一个函数,该函数返回该 UTI 符合的所有类型的数组。
我似乎有希望,因为MDItemCopyAttributeList()
将返回这样的列表。也就是说,它需要一个MDItemRef
,它可以从文件路径或 URL 创建——这不是很好。有时我的数据只存储在内存中,我只有一个 MIME 类型可供使用。
我是否必须遍历整个 UTI 数据库才能获取此信息,还是我遗漏了什么?