Значки, не показанные для импортированных UTI, даже если приложение по умолчанию - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть приложение Какао, для которого я создал Экспортированный UTI и несколько Импортированных UTI с соответствующими типами документов в файле Info.plist. Все файлы могут быть открыты в моем приложении из Finder, как и ожидалось.

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

Некоторые другие файлы в файловой системе имеют значки, которые представляют ассоциированное приложение, иногда это приложение по умолчанию для этот тип файла, иногда это не так.

При каких обстоятельствах отображаются значки для импортированных UTI?

Вот соответствующие части файла Info.plist.

<key>UTImportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeIdentifier</key>
        <string>public.mp3</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <array>
                <string>mp3</string>
            </array>
        </dict>
        <key>UTTypeIconFile</key>
        <string>Assets.xcassets/AppIcon</string>
        <key>UTTypeDescription</key>
        <string>Mp3</string>
    </dict>
</array>

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeExtensions</key>
        <array/>
        <key>CFBundleTypeName</key>
        <string>Mp3</string>
        <key>CFBundleTypeIconFile</key>
        <string>Assets.xcassets/AppIcon</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.mp3</string>
        </array>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
    </dict>
</array>
...