#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
@autoreleasepool {
NSArray *args = [[NSProcessInfo processInfo] arguments];
if ([args count] < ) {
printf("USAGE:\n\tuti <filenameExtension>\nEXAMPLE:\n\tuti jpg png\n");
exit(EXIT_SUCCESS);
} NSArray *extensions = [args subarrayWithRange:NSMakeRange(, [args count] - )];
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\nUTI: %s\nContentType: %s\n",[filenameExtension UTF8String] , [UTI UTF8String], [contentType UTF8String]);
}
}
return ;
}

--demo--

$ uti jpg png
jpg
UTI: public.jpeg
ContentType: image/jpeg
png
UTI: public.png
ContentType: image/png

最新文章

  1. One EEG preprocessing pipeline - EEG-fMRI paradigm
  2. vim正则表达式~转
  3. 02_Hello World!
  4. Spark随机深林扩展—OOB错误评估和变量权重
  5. Eclipse帮助文档配置
  6. \r\n在php中有什么用
  7. (转载)SQL联合查询中的关键语法
  8. android 73 下载图片
  9. 谈谈Parser --王垠
  10. MongoDB基本shell操作
  11. phpstudy 版本切换注意的问题
  12. day1 安装jdk8环境及第一个java程序
  13. 我眼中的 Nginx(二):HTTP/2 dynamic table size update
  14. python之错误调试
  15. 学习总结(ASP.NET MVC 5)
  16. VC++下使用ADO操作数据库
  17. 【HNOI2017】单旋
  18. 如何使用FLASHGOT下载网页FLASH
  19. 2.5 – Garbage Collection 自动垃圾回收 Stop-the-world vs. incremental vs. concurrent 垃圾回收策略
  20. 以太坊入门-solidity环境搭建

热门文章

  1. 如何生成动态库 .dll 的符号 .lib 文件?
  2. golang 如何使用模版?
  3. CSDN论坛停站维护公告
  4. Xshell访问kali配置
  5. Oracle表与约束关系
  6. vscode常用快捷键及常用设置
  7. Docker容器技术-Docker架构
  8. P4299 首都
  9. P4271 [USACO18FEB]New Barns
  10. R的几个基础函数