为Mac OS X编写了一个简单的Quicklook插件,用于查看自定义图像格式。在一台机器上工作正常,不在另一台机器上工作。两人都在运行El Capitan beta。
即使在受影响的计算机上也可以显示图像:
qlmanage -c "com.catnapgames.nlimage" -p saucer__0.nlimage
这不起作用:
qlmanage -p saucer__0.nlimage
mdls
会返回此信息:
kMDItemContentTypeTree = (
"public.data",
"public.item"
)
Here's a link to the plugin's Info.plist file.
知道为什么它在一台机器上运行而在另一台机器上不起作用?如何进一步排除故障以找出问题所在?
答案 0 :(得分:1)
事实上,mdls只为你提供了通用的" public.data"告诉您LaunchServices无法识别您的UTI。由于它无法识别您的UTI,因此您的QuickLook生成器不会被调用。 (如果你做qlmanage -d1 -p saucer__0.nlimage
),你会发现这种情况。
原因是您需要在应用程序中声明您的UTI - LaunchServices不能从QuickLook生成器包中可靠地读取UTExportedTypeDeclarations或UTImportedTypeDeclarations。
有关详细信息,请参阅this answer中的第1点。