将 QuickLook 预览生成委托给其他 QLPlugin

Posted

技术标签:

【中文标题】将 QuickLook 预览生成委托给其他 QLPlugin【英文标题】:Delegate QuickLook preview generation to other QLPlugin 【发布时间】:2019-06-27 14:26:14 【问题描述】:

我正在为 macOS 开发一个 QuickLook 预览插件。

我正在尝试为远程文件(osxfuse 虚拟文件系统)生成预览,因此我已将我的 QLPreview 插件注册为 public.jpeg 扩展名。

现在,macOS 向我的 QLPreview 插件询问文件系统上的每个图像,而我只想要那些在我的虚拟文件系统文件夹中的图像。对于常规 jpeg 文件,应调用系统 QuickLook 插件。

是否可以将预览生成委托给其他 QuickLook 插件,以防我的 QLPreview 插件无法生成预览或以某种方式返回 OSStatus,macOS 应该尝试使用相同 UTI 注册的其他插件。

如果这不可能,有没有办法为具有 .jpeg 扩展名的文件提供自定义 UTI。也许像写一些东西来文件扩展属性?

如果上述方法都不可能,一种选择是在我的 VFS 中添加扩展名为 .mycloud 的文件(即 some_image.jpeg.mycloud),然后将该扩展名注册为我的自定义 UTI 格式并为该 UTI 编写 QLPreview 插件.然后,当用户下载图像时,mycloud 扩展将被删除,系统将生成预览,无论如何现在都可以使用。

【问题讨论】:

【参考方案1】:

您的插件不应超过已知扩展的现有插件。

您现在最好的选择是尚未下载的文件具有您的自定义扩展名.mycloud,您可以为其自定义预览/缩略图 quicklook 插件。

当您下载文件时,删除 .mycloud 扩展名,以便现有的 quicklook 生成器可以处理现有文件的正确预览生成。

【讨论】:

以上是关于将 QuickLook 预览生成委托给其他 QLPlugin的主要内容,如果未能解决你的问题,请参考以下文章

quicklook 不显示图像但有正确的数据

更喜欢我的 QuickLook 插件

无法使用 QuickLook 预览文件

QuickLook 空格键预览文件工具

Microsoft Office 文件的 QuickLook 预览

在 Finder 中预览 iOS 文档,无需编写 Mac quicklook 插件