Tri*_*ert 14 cocoa drag-and-drop file dock
如何将Info.plist中指定类型的文件(或选择在Finder中打开)放到我的停靠栏图标上,然后使用文件的完整路径调用方法?
Jos*_*man 17
如果您正确设置了Info.plist的CFBundleDocumentTypes数组('LSItemContentTypes'或'CFBundleTypeExtensions'),那么您只需要设置NSApplication委托并实现委托方法application:openFile : .
如果您希望一次删除多个文件,请实现application:openFiles : .
对于承诺文件(NSFilesPromisePboardType/ kPasteboardTypeFileURLPromise),请参阅将承诺文件删除到Dock中的应用程序图标.
Dav*_*las 10
这是Xcode 5的更新解决方案.在AppDelegate.m中
-(BOOL)application:(NSApplication *)sender openFile:(NSString *)filename
{
NSLog(@"%@", filename);
return YES;
}
Run Code Online (Sandbox Code Playgroud)
在项目>目标>信息下的Xcode设置文档类型中:

检查Info.plist中的设置,以防您有一个空的"文档内容类型UTI"数组,该数组应正确填写或删除.

您的Info.plist应如下所示:
