我读过苹果的统一类型标识符概述和技术问答QA1587,但是没有关于如何用点注册扩展的信息,比如filename.nimrod.cfg,扩展不仅仅是.cfg,还有.nimrod.cfg。我使用的plist定义与单个扩展相同:
<dict>
<key>UTTypeIdentifier</key>
<string>org.nimrod-lang.cfg.nimrod</string>
<key>UTTypeReferenceURL</key>
<string>http://nimrod-lang.org/</string>
<key>UTTypeDescription</key>
<string>Nimrod configuration file</string>
<key>UTTypeIconFile</key>
<string>public.text.icns</string>
<key>UTTypeConformsTo</key>
<array>
<string>public.text</string>
<string>public.utf8-plain-text</string>
<string>public.source-code</string>
</array>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>nimrod.cfg</string>
</array>
</dict>但是,当我调试预览这些文件中的一个时,qlmanager告诉我该文件没有注册:
[DEBUG] Registering <QLGenerator /Users/gradha/Library/QuickLook/QuickLook reStructuredText copy.qlgenerator> for org.nimrod-lang.nim
[DEBUG] Registering <QLGenerator /Users/gradha/Library/QuickLook/QuickLook reStructuredText copy.qlgenerator> for org.nimrod-lang.cfg.nimrod
[DEBUG] Preview test for nakefile.nimrod.cfg -- file://localhost/Users/gradha/project/nimrod/ql-rest-nim/. Content type UTI: dyn.ah62d4rv4ge80g3xh所以看起来UTI已经被注册了,但是这个双重扩展没有被正确的识别。如何使QuickLook正确地检测这些文件?
发布于 2014-11-18 13:54:05
事实上,这是显而易见的。UTI标准告诉您,UTI字符串中的句点是反序类链中的决定符。
所以--它被正确地分析和使用了。在你的泌尿系部位不要有句号。用标准中的其他东西替换。
https://stackoverflow.com/questions/20767891
复制相似问题