Я использовал ответ, предоставленный slf в приложении для какао (не iPhone), и заметил, что URL-запрос, похоже, читает весь файл с диска, чтобы определить тип mime (не подходит для больших файлов).
Для тех, кто хочет сделать это на рабочем столе, вот фрагмент, который я использовал (по предложению Луи):
NSString *path = @"/path/to/some/file";
NSTask *task = [[[NSTask alloc] init] autorelease];
[task setLaunchPath: @"/usr/bin/file"];
[task setArguments: [NSArray arrayWithObjects: @"-b", @"--mime-type", path, nil]];
NSPipe *pipe = [NSPipe pipe];
[task setStandardOutput: pipe];
NSFileHandle *file = [pipe fileHandleForReading];
[task launch];
[task waitUntilExit];
if ([task terminationStatus] == YES) {
NSData *data = [file readDataToEndOfFile];
return [[[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding] autorelease];
} else {
return nil;
}
Если бы вы назвали это в PDF-файле, он бы выплевал: application / pdf