接受Dock图标上的音量下降

时间:2010-12-05 22:07:32

标签: cocoa macos drag-and-drop dock

我正在编写一个Cocoa应用程序,需要在Dock图标上接受已安装卷的下落。它不是基于文件的;我打算将每个卷分发到application:openFiles中的相应处理程序。

我已经让Dock点亮我的应用程序的磁贴以进行拖动,但是在删除时,我的应用程序显示一条警告:“无法打开文档[卷名]。 [我的应用程序]无法打开此类型的文件。“我的application:openFiles:方法永远不会运行,即使代理已连接并发送其他委托消息。

那么,在Dock平铺上接受一滴音量的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

可能您的Info.plist未正确设置。它应该包括这样的东西:

CFBundleDocumentTypes =     (
    {
        LSItemContentTypes =             (
            "public.volume"
        );
    }
);

如果您需要支持10.5之前的版本,则可以使用CFBundleOSTypesdisk

通过这样做我能够让application:openFiles:工作。

如果您已经这样做了,可能是启动服务变得混乱......清理并重建您的项目,尝试使用其他用户帐户,使用lsregister,挥动死鸡等等。

答案 1 :(得分:0)

  

...代理人被连接起来并被发送给其他委托消息。

或者我想。

Mea culpa - 事实上,我甚至没有创建代表。我不确定为什么我以为我有。

将代理实例化并连接到MainMenu笔尖,再加上Nicholas Riley建议的Info.plist更改,现在可以使用Drop。