OSX:如何为我的应用设置多个文件图标?

时间:2015-07-02 16:01:51

标签: macos plist

我有一个应用处理两种文件扩展名的应用,例如.abc.xyz。我想在Finder中为这两个单独的扩展显示单独的图标。怎么做?

此外,我希望只需双击即可打开.abc文件类型。对于.xyz文件类型,我只想在查找器中显示其图标。

如果可能,示例Info.plist会非常有用。

1 个答案:

答案 0 :(得分:0)

第一部分相对容易,但并不十分明显。对于第二个,它看起来取决于您是否希望能够将.xyz文件放到应用程序图标上。如果没有,您可以将CFBundleTypeRole更改为None,但如果这样做,您似乎需要将LSHandlerRank设置为None (仍然在CFBundleDocumentTypes数组中)。

.abc个文件的示例plist代码段,带有一些占位符值:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>abc</string>
        </array>
        <key>CFBundleTypeIconFile</key>
        <string>your-icon</string>
        <key>CFBundleTypeName</key>
        <string>Your File Type Description</string>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>your.uti.abc</string>
        </array>
    </dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeDescription</key>
        <string>Your File Type Description</string>
        <key>UTTypeIconFile</key>
        <string>your-icon</string>
        <key>UTTypeIdentifier</key>
        <string>your.uti.abc</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <array>
                <string>abc</string>
            </array>
        </dict>
    </dict>
</array>

当然,要为此添加.xyz,您只需向两个阵列添加另一个<dict>