Get UTI (uniform type identifier) and ContentType

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSArray *args = [[NSProcessInfo processInfo] arguments];
        if ([args count] < 2) {
            printf("USAGE:
	uti <filenameExtension>
EXAMPLE:
	uti jpg png
");
            exit(EXIT_SUCCESS);
        }
        
        NSArray *extensions = [args subarrayWithRange:NSMakeRange(1, [args count] - 1)];
        for (NSString *filenameExtension in extensions) {
            NSString *UTI = (__bridge_transfer NSString *)UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (__bridge CFStringRef)filenameExtension, NULL);
            NSString *contentType = (__bridge_transfer NSString *)UTTypeCopyPreferredTagWithClass((__bridge CFStringRef)UTI, kUTTagClassMIMEType);
            printf("%s
UTI: %s
ContentType: %s
",[filenameExtension UTF8String] , [UTI UTF8String], [contentType UTF8String]);
        }
    }
    return 0;
}

--demo--

$ uti jpg png
jpg
UTI: public.jpeg
ContentType: image/jpeg
png
UTI: public.png
ContentType: image/png
原文地址:https://www.cnblogs.com/Bob-wei/p/5159788.html