MagicKit.framework
是围绕 libmagic
文件识别库的易于使用的包装。它提供高级 Objective-C 接口,并处理 Foundation 类型(NSString、NSData 等)。
MagicKit.framework
可用于 OS X(作为框架)或 iOS(作为静态库,包括头文件)。MagicKit.framework
由一个主类 GEMagicKit
和一个中间类 GEMagicResult
组成。主类 GEMagicKit
有六个类方法,以下按方便程度降序排列。
+ (GEMagicResult *)magicForFileAtPath:(NSString *)path;
+ (GEMagicResult *)magicForFileAtURL:(NSURL *)aURL;
+ (GEMagicResult *)magicForData:(NSData *)data;
+ (GEMagicResult *)magicForFileAtPath:(NSString *)path decompress:(BOOL)decompress;
+ (GEMagicResult *)magicForFileAtURL:(NSURL *)aURL decompress:(BOOL)decompress;
+ (GEMagicResult *)magicForData:(NSData *)data decompress:(BOOL)decompress;
这些方法都返回中间类 GEMagicResult
。类有四个属性。这包括 mimeType
、description
、uniformType
和 uniformTypeHierarchy
。前三个属性是 NSString
对象,最后返回一个 NSArray
对象。
示例 MIME 类型包括
application/xml; charset=us-ascii
video/x-msvideo; charset=binary
或相应的文本描述
XML 文档文本
RIFF(小端)数据,AVI,624 x 352,23.98 fps,视频:XviD,音频:MPEG-1 Layer 3(立体声,48000 Hz)
)最后,uniformType
和 uniformTypeHierarchy
返回相关文件/数据的 统一类型标识符。类型层次结构是给定文件符合的类型数组。
GEMagicKit
还可以解压缩压缩文件,因此可以尝试确定其内容。