Получить путь к файлу из буфера обмена в OS X

Я хотел бы, чтобы мое приложение получало полный путь к файлу, скопированному в буфер обмена ранее.

Я попробовал это:

NSPasteboard *p = [NSPasteboard generalPasteboard];
NSDictionary *options = [NSDictionary dictionary];
NSString *path = [[p readObjectsForClasses:[NSArray arrayWithObjects:[NSString class], nil] options:options] objectAtIndex:0];

Это только возвращает имя файла, а не путь.

Вы можете мне помочь?

1 ответ

Решение

Попробуй это:

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];

Это прямо из Руководства по программированию Apple Pasteboard.

Другие вопросы по тегам