我正在努力获取某种文件类型的可读描述,我只知道文件扩展名。例如。我想从“h”类型获得“C Header源文件”,也可以从“zip”获得“Zip Archieve”
我用Google搜索,并找到了一个LSCopyKindStringForTypeInfo:
的解决方案- (NSString *)humanReadableFiletype:(NSString *)ext
{
NSString *res;
LSCopyKindStringForTypeInfo(nil, nil, (CFStringRef)ext, (CFStringRef *)&res);
return [res autorelease];
}
它适用于除Preview.app所采用的文件类型以外的大多数文件类型,因此“jpg”,“gif”和“pdf”将被解释为“预览文档”。 (XCode 3.2.5,Snow Leopard)
你们会帮助我吗?
谢谢!
答案 0 :(得分:2)
尝试使用UTI(统一类型标识符)和相关API,如文档here所示:
#import <Carbon/Carbon.h>
- (NSString *)humanReadableFileTypeForFileExtension:(NSString *)extension
{
CFStringRef fileUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (CFStringRef)extension, NULL);
NSString *utiDescription = (NSString *)UTTypeCopyDescription(fileUTI);
CFRelease(fileUTI);
return [utiDescription autorelease];
}