我正在尝试制作快速查看生成器。我的理解是,您可以提供QLPreviewRequestSetDataRepresentation
任何类型的数据,这些数据可以通过Quick Look开箱即用来理解。我想提供图片数据(kUTTypeImage
)。
这是我可以失败的最简单方法:加载输入图像,然后立即将其返回QLPreviewRequestSetDataRepresentation
。
(显然,在我的实际应用程序中,我会在返回之前对图像进行一些自定义转换,但即使是这个简化的示例也似乎失败了。)
NSImage *inputImage = [[NSImage alloc] initWithContentsOfURL:inputImageURL];
QLPreviewRequestSetDataRepresentation(preview,
(__bridge CFDataRef)([inputImage TIFFRepresentation]),
kUTTypeImage,
nil);
这不起作用,即使文档给出了它应该的每一个迹象。快速查看生成器只会崩溃并回退到默认显示。
我知道正在从Quick Look软件包中正确读取NSImage。
我可以将数据设置为HTML,甚至可以将图像作为附件包含并呈现为HTML,但这是一个很糟糕的解决方案。