Ответ 1
Я много раз заглядывал в это время и не мог найти простой способ сделать это. В зависимости от типа файла QuickLook генерирует различные виды вывода. Например, для файлов iWork генератор делает HTML, который он отображает в WebView. Для других типов он возвращает разные типы данных.
Я никогда не получал код, но вот код, который я выкопал, и некоторые частные API, которые могут быть удобными:
id QLPreviewCreate(CFAllocatorRef allocator, CFURLRef url, CFDictionaryRef options);
id QLPreviewCopyBitmapImage(id preview);
id QLPreviewCopyData(id preview);
NSString* QLPreviewGetPreviewType(id preview);
id QLPreviewCopyProperties(id preview);
- (NSData *)getDataForFile:(NSString *)path
{
NSURL *fileURL = [NSURL fileURLWithPath:path];
id preview = QLPreviewCreate(kCFAllocatorDefault, fileURL, 0);
if (preview)
{
NSString* previewType = QLPreviewGetPreviewType(preview);
if ([previewType isEqualToString:@"public.webcontent"])
{
// this preview is HTML data
return QLPreviewCopyData(preview);
}
else
{
NSLog(@"this type is: %@", previewType);
// do something else
}
}
return nil;
}