Человекочитаемые строки для идентификаторов [NSImage imageTypes]? - PullRequest
3 голосов
/ 03 марта 2012

Проще говоря, как можно извлечь читаемую человеком строку (например, «Portable Network Graphics») для типа идентификатора, найденного в массиве, возвращенном [NSImage imageTypes] (например, «public.png» или"com.microsoft.bitmap")?Я прочитал различные части документации для универсальных идентификаторов типов, но ничего не смог найти.Я лаю не на том дереве?

1 Ответ

2 голосов
/ 03 марта 2012

Я думаю UTTypeCopyDescription() делает то, что вы ищете:

NSArray *types = [NSImage imageTypes];
for (NSString *type in types) {
    NSString *desc = (NSString *)UTTypeCopyDescription((CFStringRef)type);
    NSLog(@"description for %@: %@", type, desc);
    [desc release];
}

Выход:

описание для com.adobe.pdf: формат переносимого документа (PDF)
описание для com.apple.pict: изображение QuickDraw
описание для com.adobe.encapsulated-postscript: инкапсулированный PostScript
описание для public.jpeg: JPEG изображение
description for public.png: Портативное сетевое графическое изображение
описание для com.compuserve.gif: Формат обмена графиками (GIF)
описание для public.jpeg-2000: изображение JPEG 2000
описание для com.canon.tif-raw-image: Canon TIF raw image
описание для com.adobe.raw-image: Adobe raw image
и т.д ....

...