1

可能重复:
当文件、图片等放在其停靠图标上时,如何使 OS X 应用程序做出反应?

出于某种原因,如果我将文件拖放到我的应用程序图标上......除非应用程序当前正在运行,否则它不起作用。

这是 CFBundleDocumentTypes 的当前 Info.plist 条目

        <array>
                <dict>
                        <key>CFBundleTypeExtensions</key>
                        <array>
                                <string>*</string>
                        </array>
                        <key>CFBundleTypeName</key>
                        <string>NSFilenamesPboardType</string>
                        <key>CFBundleTypeRole</key>
                        <string>None</string>
                </dict>
        </array>

想法,意见,提示,技巧?

在这里回购:https ://bitbucket.org/crewshin/maketx_dnd

4

1 回答 1

2

拖放到图标的启动行为来自于在 Info.plist 文件的 CFBundleDocumentTypes 中定义应用程序可以处理的文件类型。

您的应用程序未启动,因为您声明您不了解任何文件类型。

<key>CFBundleTypeRole</key>
<string>None</string>

To declare your app can read a file type, you should use 'Viewer' or 'Editor' for the CFBundleTypeRole.

The documentation is somewhat unclear about using an * to specify CFBundleTypeExtensions. It used to be a valid way to specify your app can only all file types in 10.4 and earlier, but it may not work after OSX 10.6. Try setting it to an extension you can actually read.

于 2013-01-25T17:48:14.693 回答