放下码头图标

时间:2011-01-09 02:59:48

标签: cocoa drag-and-drop dock

我正在查看文档以了解如何允许删除停靠栏图标。从我所看到的,建议您使用LSItemContentTypes,因为不推荐使用CFBundleTypeOSTypes。但是,我无法使LSItemContentTypes工作,只有CFBundleTypeOSTypes为 * *它才会接受丢弃。

如何以不推荐的方式执行此操作?

谢谢, 尼克

1 个答案:

答案 0 :(得分:6)

以下是我在应用的Info.plist中使用的内容:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>SomeName</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSHandlerRank</key>
        <string>None</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.mp3</string>
        </array>
    </dict>
</array>

查看Documentation,了解每个密钥的确切内容。

CFBundleTypeName CFBundleTypeRole 是必需的。

LSItemContentTypes UTIs的数组。要获取文件的UTI,只需在终端中输入:

mdls -name kMDItemContentType /path/to/file

不要忘记调整 CFBundleTypeRole LSHandlerRank 以满足您的需求。