macOS开发-如何实现自定义文件后缀的关联

在mac APP开发中,有时候需要定义一个自己的文件后缀名(比如开发编辑器,就需要一个自己的文件格式),方便用户能够双击文件就能打开程序,接下来就讲解下,如何实现文件关联,实现文件图标的修改


1. 在Info.plist中添加下面的文件

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <!-- 文件后缀名 -->
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>ssa</string>
        </array>
        <!-- 文件图标 -->
        <key>CFBundleTypeIconFile</key>
        <string>fileIcon</string>
        <!-- 文件右击显示简介中的种类 -->
        <key>CFBundleTypeName</key>
        <string>ShotBuilder</string>
        <!-- 申明文件和程序的关系 -->
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <!-- 暂时没查到用处 -->
        <key>LSIsAppleDefaultForType</key>
        <true/>
    </dict>
</array>

2. 文件图标

之前一直绕在png图标上,然后一直不显示,后来把png转成icns格式后,就实现了

点我在线转换icns

3. 重启Finder

由于缓存的关系,可能在更改CFBundleDocumentTypes字段内容后,没有变化,所以需要重启下Finder

sudo killall Finder