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

我已经使Dock点亮了应用程序的磁贴以进行拖动,但是放下时,我的应用程序显示警告:“无法打开文档[卷名]。 [我的应用程序]无法打开此类文件。”我的application:openFiles:方法从不运行,即使该委托已连接并发送了其他委托消息。

那么,接受Dock磁贴上的一滴体积的正确方法是什么?

最佳答案

您的Info.plist可能未正确设置。它应包括以下内容:

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


或者如果需要支持10.5之前的版本,则可以使用CFBundleOSTypesdisk代替。

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

如果您已经这样做了,可能是启动服务感到困惑……清理并重建您的项目,尝试使用其他用户帐户,使用lsregister,挥手告别,等等。

关于cocoa - 接受Dock图标上的音量下降,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4361530/

10-10 22:15