gpt4 book ai didi

objective-c - 获取 Cocoa 中文件的类型

转载 作者:太空狗 更新时间:2023-10-30 03:10:14 25 4
gpt4 key购买 nike

我成功找到了指定文件的扩展文件类型(JPEG 图像、TIFF 图像...),但我正在寻找更通用的东西,可以将文件分类为图像、电影、文本文件等“大分类” , ...有没有办法在 cocoa (或 objective-c)中实现这一点?

谢谢你的帮助,

最佳答案

你可以使用 Uniform Type Identifiers .由于 UTI 被组织成层次结构,一种可能性是检查给定文件的首选 UTI 是否符合顶级 UTI,例如public.image 用于图像或 public.movi​​e 用于电影。核心服务框架包括对 UTI 进行操作的函数以及表示已知 UTI 的常量。

例如,处理文件扩展名:

NSString *file = @"…"; // path to some file
CFStringRef fileExtension = (CFStringRef) [file pathExtension];
CFStringRef fileUTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, fileExtension, NULL);

if (UTTypeConformsTo(fileUTI, kUTTypeImage)) NSLog(@"It's an image");
else if (UTTypeConformsTo(fileUTI, kUTTypeMovie)) NSLog(@"It's a movie");
else if (UTTypeConformsTo(fileUTI, kUTTypeText)) NSLog(@"It's text");

CFRelease(fileUTI);

如果您有 MIME 类型而不是文件扩展名,则可以使用 kUTTagClassMIMEType 而不是 kUTTagClassFilenameExtension

有关已知 UTI 的列表,请参阅 this document .

关于objective-c - 获取 Cocoa 中文件的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5814463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com