Данные NSPasteboard не обновляются до переключения контекста
У меня возникла проблема с NSPasteboard, поэтому я надеюсь, что у кого-то есть немного тайных знаний, которые помогут мне это исправить.
В моем VST-плагине мне нужно разрешить пользователям копировать некоторые MIDI-данные, которые плагин генерирует, в монтажную панель. Эти данные затем могут быть вставлены в DAW хоста (или где угодно, на самом деле). В настоящее время я добавляю URL файла в монтажную панель.
Сама операция копирования на самом деле работает нормально, но по какой-то причине монтажная доска, кажется, обновляется только когда я переключаю контекст в OSX. То есть [NSPasteboard writeObjects:] возвращает true, и данные постоянно доступны после переключения контекста. Мой код:
// method is triggered by MouseDown handler
NSURL * fileUrl = code to get file URL from NSString path
NSPasteboard * pboard = [NSPasteboard generalPasteboard];
[pboard clearContents];
NSArray *objectsToCopy = [[NSArray alloc] initWithObjects:fileUrl, nil];
[pboard writeObjects:objectsToCopy];
В настоящее время я использую High Sierra 10.13.6 с xcode 9.4.1.