想让人注意到某个有用的答案?请投赞同票!

有没有人帮助到了你?有没有任何答案或用户使用技巧解决了你的问题?选择“赞同票”箭头投出你的赞同票。你的反馈能帮助到他人!

进一步了解在什么情况下投赞同票:了解投票 - Apple 社区

看上去一段时间内没有人回复。 要再次发起对话,只需提出一个新问题即可。

无法正常预览SVG格式图片

系统:macOS 10.14.6 (18G84)

设备:MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)

问题:SVG 格式图片在按下空格后,能否被预览完全随机。且一旦出现第一个无法被预览,后面全部都无法被预览。

尝试使用命令:qlmanage -r 等可以短时间内被预览,很快失效。

尝试重启访达:killall Finder,效果同上

Mac 上可以打开 SVG 的应用有:Sketch、Adobe illustrator、Sublime Text,但这些已安装许久。


想请教 tonyfromcalgary 老师帮忙解决,感谢!

Ps:不接受天才吧式,重置、重启、重装建议。


发布日期 2019年7月25日 下午9:53

回复
问题被标记为 最佳回复

发布日期 2019年7月27日 下午12:31

因为真的不了解你的系统情况,我有不怎么接触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如何选择使用哪一个,还不太清楚,猜测是类似最先找到的


所以,说了这么多,依然是无法解决你的问题,只不过是提供一种思路而已。

你发现什么,也上来共享下,大家一起看看。


回复量: 7
问题被标记为 最佳回复

2019年7月27日 下午12:31 回应 StarryStarry

因为真的不了解你的系统情况,我有不怎么接触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如何选择使用哪一个,还不太清楚,猜测是类似最先找到的


所以,说了这么多,依然是无法解决你的问题,只不过是提供一种思路而已。

你发现什么,也上来共享下,大家一起看看。


2019年7月26日 下午4:22 回应 tonyfromcalgary

感谢 tonyfromcalgary 老师的热心回复!

去年您曾解答了困惑本人许久的系统照片问题,因此对您印象深刻。

当然也欢迎大家提出可能有帮助的解决方法。


如您所说,macOS 系统原生支持 SVG 格式的预览,也有第三方应用、插件提供相似的功能。

于是我尝试卸载了所有使用 brew cask 安装的 QL 插件,但依然无法解决问题。

一些支持打开 SVG 格式的应用,如 Sketch、Adobe illustrator、Sublime Text 已在我的 Mac 上安装许久,且是我必备的工具,卸载这些将失去意义,故未做尝试。


另外,前段时间我遇到了一个有些类似的问题——几乎所有后缀(包含无后缀)的纯文本文件,失去了应有的打开方式,为了解决该问题我进行了一次 Time Machine 还原——然后将遇到了现在的问题。


2019年7月27日 下午12:57 回应 tonyfromcalgary

真的是太感谢了!

执行命令:

 qlmanage -m plugins | grep "svg"

得到:

public.svg-image -> /Applications/Image2Icon.app/Contents/Library/QuickLook/svgrendeder.qlgenerator (1.0)

竟然是 Image2Icon.app 的锅,卸载并运行

qlmanage -r cache && qlmanage -r

完美解决!

再次感谢 tonyfromcalgary 老师热心的指导和启发!

2019年7月26日 下午3:38 回应 StarryStarry

首先,非常感谢您的信任。

不过,你这一点名,别人都不好回答了,本人能力精力有限,为了你的问题可以尽快解决,咱还是欢迎所有人都回答。


就我所知,预览app对各种格式的文件,是通过各种插件提供功能的,普通的常见格式,macOS系统自身提供,应用可以提供特殊格式的插件,以供预览app使用,当然也可以与系统提供的格式的插件重复。


先回复这些,后面我在整理贴出命令行的一些可能的用于排错的方法。

无法正常预览SVG格式图片

欢迎来到 Apple 支持社区
Apple 客户在其产品方面互相帮助的论坛。使用你的 Apple ID 开始畅游其中吧!