Вы можете сделать это почти полностью, используя метаданные Spotlight.
Например, я делаю следующее в одном из моих приложений
MDItemRef fileMetadata=MDItemCreate(NULL,(CFStringRef)eachPath);
NSDictionary *metadataDictionary = (NSDictionary*)MDItemCopyAttributes (fileMetadata,
(CFArrayRef)[NSArray arrayWithObjects:(id)kMDItemPixelHeight,(id)kMDItemPixelWidth,nil]);
Этот код запрашивает ширину и высоту пикселя.для файла фильма (чтобы определить, является ли его размер фильмом HD или нет).
В справочнике атрибутов метаданных Spotlight перечислены все доступные ключи для различных типов файлов по категориям.Вероятно, вы можете получить необходимые данные таким образом, не делая ничего существенного, при условии, что тип исследуемого вами носителя имеет подключаемый модуль Spotlight.