J'ai une application Mac qui ouvre des fichiers Office (.doc, .xls, etc.) et j'ai besoin d'afficher une icône personnalisée pour ces fichiers pris en charge. J'avais l'habitude d'y parvenir en ajoutant les types UTI pris en charge dans CFBundleDocumentTypes
et en affectant mon icône icns personnalisée. Définissez également mon application comme application par défaut qui ouvre ces types de fichiers.
Maintenant, cette approche a fonctionné parfaitement jusqu'à la version bêta de macOS Catalina, même avec des applications Microsoft présentes avec mon application. Dans la version bêta de macOS Catalina, je vois l'icône de mon application à la place de toutes les icônes de fichier.
J'ai essayé d'effacer le cache des icônes et même de relancer le Finder, mais en vain. Plus tard, j'ai même essayé d'ajouter les types UTI sous UTExportedTypeDeclarations
et UTImportedTypeDeclarations
.
Est-ce un bug avec Catalina Beta? Ou tout ce que je peux faire pour que cela fonctionne.
Mon plist a UTExportedTypeDeclarations
ressemblant à ceci. UTImportedTypeDeclarations
et CFBundleDocumentTypes
ont des valeurs similaires.
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>org.openxmlformats.spreadsheetml.sheet</string>
<string>org.openxmlformats.openxml</string>
<string>public.composite-content</string>
</array>
<key>UTTypeDescription</key>
<string>Excel Open XML spreadsheet</string>
<key>UTTypeIconFile</key>
<string>custom.icns</string>
<key>UTTypeIdentifier</key>
<string>com.Microsoft.Excel.openxmlformats.spreadsheetml.sheet</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>com.Apple.ostype</key>
<string>XLSX</string>
<key>public.filename-extension</key>
<array>
<string>xlsx</string>
</array>
</dict>
</dict>
</array>
J'ai aussi j'ai ce problème . Projet vide essayé et reproduit avec les applications macOS incluses , il est donc généralement sûr de supposer qu'il s'agit d'un bogue dans macOS Catalina.
Comme l'a suggéré trojanfoe dans un commentaire, la seule chose à faire en ce moment est de le signaler à Apple via l'assistant de rétroaction.
Thomas Zoechling fait référence à n autre problème qui peut également affecter les versions antérieures de macOS, mais ne résout pas le problème principal ici.