从OS X中的剪贴板获取文件路径

Osk*_*kar 2 macos clipboard cocoa nspasteboard

我希望我的应用程序能够将文件的完整路径复制到剪贴板之前.

我试过这个:

NSPasteboard *p = [NSPasteboard generalPasteboard];
NSDictionary *options = [NSDictionary dictionary];
NSString *path = [[p readObjectsForClasses:[NSArray arrayWithObjects:[NSString class], nil] options:options] objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

这只返回文件名,而不是路径.

你能帮助我吗?

dal*_*ook 8

试试这个:

NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];
NSArray *classes = [NSArray arrayWithObject:[NSURL class]];

NSDictionary *options = [NSDictionary dictionaryWithObject:
                         [NSNumber numberWithBool:YES] forKey:NSPasteboardURLReadingFileURLsOnlyKey];

NSArray *fileURLs =
[pasteboard readObjectsForClasses:classes options:options];
Run Code Online (Sandbox Code Playgroud)

这直接来自Apple的Pasteboard Programming Guide.