我有一个Mac应用程序,可以打开office文件(.doc、.xls等),我需要为这些支持的文件显示自定义图标。我以前是通过在
直到macOS Catalina beta版本,即使Microsoft应用程序与我的应用程序一起存在,这种方法也能完美地运行。但是从macOS Catalina beta版本开始,我看到所有文件图标的位置都出现了我的应用程序图标。
我尝试清除图标缓存甚至重新启动Finder,但没有效果。后来,我尝试通过将UTI类型添加到
这是Catalina Beta的一个错误吗?还是有什么我可以做的让它工作起来呢?
我的plist中的
CFBundleDocumentTypes
中添加支持的UTI类型并分配我的自定义icns图标来实现的。同时将我的应用程序设置为打开这些文件类型的默认应用程序。直到macOS Catalina beta版本,即使Microsoft应用程序与我的应用程序一起存在,这种方法也能完美地运行。但是从macOS Catalina beta版本开始,我看到所有文件图标的位置都出现了我的应用程序图标。
我尝试清除图标缓存甚至重新启动Finder,但没有效果。后来,我尝试通过将UTI类型添加到
UTExportedTypeDeclarations
和UTImportedTypeDeclarations
下来解决问题。这是Catalina Beta的一个错误吗?还是有什么我可以做的让它工作起来呢?
我的plist中的
UTExportedTypeDeclarations
如下所示。 UTImportedTypeDeclarations
和 CFBundleDocumentTypes
具有类似的值。<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>