在 SnowLeopard 中创建新的扩展关联和图标

Sca*_*kko 5 icons file-association osx-snow-leopard file-extension macos

我一直在寻找添加新文件扩展名类型 (.xyz) 并将图标关联到 SnowLeopard 中所有此类文件的最佳方法。

Dan*_*eck 5

这取决于您是希望特定应用程序打开这些文件类型,还是不关联它们。


如果您希望它们使用特定应用程序打开,请在这些文件之一的“获取信息”对话框中选择该应用程序,并在选择对话框中选中“始终打开方式”

现在此文件扩展名与该应用程序相关联,但可能具有通用图标。图标是关联应用程序的职责,因此我们需要对其进行更改。


现在您需要编辑应用程序的包:

右键单击应用程序以处理这些文件扩展名,然后选择Show Package Contents。导航到Contents,然后编辑Info.plist。您可能需要Property List Editor,它是 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>
Run Code Online (Sandbox Code Playgroud)

保存文件。


对于图标,您需要在AppName.app/Contents/Resources/named 中创建一个文件FooDocument.icns。您可以icns使用预览或专用实用程序创建文件。


每次更新应用程序时都需要重复此操作。


如果您不想使用特定应用程序打开文件,您可以创建一个新的“虚拟”应用程序包(它甚至不需要能够启动),您可以在其中放置图标并添加CFBundleDocumentTypes上面的信息.