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
中间类。`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
` 还可以解压缩压缩文件,因此可以尝试确定其内容。