Создайте новую дополнительную ассоциацию и значок в SnowLeopard

Я искал лучший способ добавить новый тип расширения файла (.xyz) и связать значок во все файлы того вида в SnowLeopard.

3
задан 16.02.2011, 11:35

1 ответ

Это зависит от того, хотите ли Вы, чтобы определенное приложение открыло эти типы файлов или оставило их несвязанными.


Если Вы хотите, чтобы они открылись определенным приложением, Вы выбираете то приложение в одном из этих файлов, Получают Информационное диалоговое окно, и проверка Всегда Открывают With в диалоговом окне выбора.

Теперь это расширение файла связано с тем приложением, но вероятно имеет универсальный значок. Значок является ответственностью связанного приложения, таким образом, мы должны изменить его.


Теперь необходимо отредактировать пакет приложения:

Щелкните правой кнопкой по приложению для обработки этих расширений файла и избранного Выставочного Содержания Пакета. Перейдите к Contents, и редактирование Info.plist. Вам, возможно, понадобился бы Редактор Списка свойств, который является частью инструментов разработчика Apple. Если Вы удачливы, это - формат XML. Отредактируйте этот файл CFBundleDocumentTypes и добавьте следующее для расширения .foo:

<key>CFBundleDocumentTypes</key>
<array>
    <!-- keep the other entries! -->
    <dict>
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>foo</string>
        </array>
        <key>CFBundleTypeIconFile</key>
        <string>FooDocument</string>
        <key>CFBundleTypeName</key>
        <string>Foo Document</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
    </dict>
</array>

Сохраните файл.


Для значка необходимо создать файл в AppName.app/Contents/Resources/ именованный FooDocument.icns. Можно создать icns файлы с помощью Предварительного просмотра или специализированных утилит.


Необходимо будет повториться этот каждый раз, когда Вы обновляете приложение.


Если Вы не хотите, чтобы файлы открылись определенным приложением, можно создать новый "фиктивный" комплект приложений (это не должно даже мочь запуститься), куда Вы помещаете значок и добавляете CFBundleDocumentTypes информация сверху.

5
ответ дан 08.12.2019, 00:05

Теги

Похожие вопросы