我正在查看文档以了解如何允许删除停靠栏图标。从我所看到的,建议您使用LSItemContentTypes,因为不推荐使用CFBundleTypeOSTypes。但是,我无法使LSItemContentTypes工作,只有CFBundleTypeOSTypes为 * *它才会接受丢弃。
如何以不推荐的方式执行此操作?
谢谢, 尼克
答案 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 以满足您的需求。