Может ли macosx зарегистрировать UTI с точкой в ​​расширении?

Я читал Введение Apple в Обзор унифицированных идентификаторов типов и технические вопросы и ответы 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 правильно определять эти файлы?

1 ответ

Решение

На самом деле это очевидно. Стандарт UTI говорит вам, что точка в строке UTI является решающей в цепочке классов в обратном порядке.

Итак --- было проанализировано и использовано правильно. У вас нет периода в ваших частях UTI. заменить на что-то еще в рамках стандарта.

Другие вопросы по тегам