QuickLookプラグインのPreviewにHTMLを表示
QuickLookプラグインのPreviewで、プラグイン側で用意したHTMLを表示をしようと思い、GeneratePreviewForURLに以下のようなコードを書きました。
OSStatus GeneratePreviewForURL(void *thisInterface, QLPreviewRequestRef preview, CFURLRef url, CFStringRef contentTypeUTI, CFDictionaryRef options){
// To complete your generator please implement the function GeneratePreviewForURL in GeneratePreviewForURL.c
@autoreleasepool {
if(QLPreviewRequestIsCancelled(preview))return noErr;
NSString *html = @"<!DOCTYPE html><html><body><h1>Test</h1></body></html>";
NSDictionary* properties = @{ // properties for the HTML data
(__bridge NSString*)kQLPreviewPropertyTextEncodingNameKey : @"UTF-8",
(__bridge NSString*)kQLPreviewPropertyMIMETypeKey : @"text/html",
};
NSString *dataType = (__bridge NSString*)contentTypeUTI;
if([dataType isEqualToString:@"public.data"]){
QLPreviewRequestSetDataRepresentation(preview,
(__bridge CFDataRef)[html dataUsingEncoding:NSUTF8StringEncoding],
kUTTypeHTML,
(__bridge CFDictionaryRef)properties);
}
}
return noErr;
}
しかし、以下のようなエラーが出て全く表示されませんでした。
2016-01-09 15:08:29.058 qlmanage[12542:1047673] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x8d03, name = 'com.apple.CFPasteboardClient'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2016-01-09 15:08:29.058 qlmanage[12542:1047673] Failed to allocate communication port for com.apple.CFPasteboardClient; this is likely due to sandbox restrictions
エラー文で検索してみて、解決を図ったのですが結局ダメでした。
どうすれば表示できるようになるでしょうか。