因为真的不了解你的系统情况,我有不怎么接触svg格式,只能是提供一个思路。
总归,就是用好qlmanage命令
所有的当前注册的预览app的插件可以使用下面的命令列出
qlmanage -m
但是里面参杂这系统自带的和应用程序的和用户安装的,排除所有系统的,可以更好的一目了然地发现非macOS的插件,下面的命令:
qlmanage -m plugins | grep -v "/System/Library/QuickLook"
输出类似如下:
com.apple.iwork.keynote.key -> /Library/QuickLook/iWork.qlgenerator (205)
com.apple.iwork.keynote.sffkey -> /Library/QuickLook/iWork.qlgenerator (205)
但是还有一个问题是,不太直观,那么再加上一部分:
qlmanage -m plugins | grep -v "/System/Library/QuickLook" | awk -F'->' '{print $2, $1}'
下面举例其中一部分:
/Library/QuickLook/iWork.qlgenerator (205) com.apple.iwork.keynote.key
/Library/QuickLook/iWork.qlgenerator (205) com.apple.keynote.key
/Library/QuickLook/iWork.qlgenerator (205) com.apple.iwork.pages.sfftemplate
/Applications/Parallels Desktop.app/Contents/Library/QuickLook/ParallelsQL.qlgenerator (13.0.0) com.parallels.vm.vmpackage
它分为两列,第一列是插件的全路径,第二列是它所支持的内容类型(kMDItemContentType),而系统就是根据文件的内容类型,匹配所支持的预览插件,再运行该插件,显示文件内容的。
我这里只有系统的svg的内容类型(使用下面命令来获得)
qlmanage -m plugins | grep "svg"
我这里只获得了一行:
public.svg-image -> /System/Library/QuickLook/Web.qlgenerator (775.5)
使用qlmanage可以以预览和简图方式预览一个文件,但是我这里(10.14.4)的系统内置的插件,预览一个svg文件的时候,总是异常退出,只能成功以简图方式。
比如这个命令就会异常退出:qlmanage -p ~/Desktop/Freesample.svg
所以,可能是svg系统插件本身有问题?(有些其它的文件也是异常退出)
另外,重置预览的混存,是命令:
qlmanage -r cache
强制重新读取插件列表和重置预览服务程序是:
qlmanage -r
所以最好是一起用:
qlmanage -r cache && qlmanage -r
它的缓存和数据保存的目录,用目录打开:
open $TMPDIR/../C/com.apple.QuickLook.thumbnailcache/
问题是,如果有多个对同一种内容类型支持的插件,预览app如何选择使用哪一个,还不太清楚,猜测是类似最先找到的
所以,说了这么多,依然是无法解决你的问题,只不过是提供一种思路而已。
你发现什么,也上来共享下,大家一起看看。