Есть ли песочница FxPlugs внутри Final Cut Pro X?

Я работаю с плагинами для Final Cut Pro X и мне нужно отправить данные в другую программу. До сих пор я мог сделать это с помощью NSDistributedNotificationCenter но это не должно работать. Согласно странице Apple Developer:

Важно: приложения-песочницы могут отправлять уведомления, только если они не содержат словаря. Если отправляющее приложение находится в изолированной программной среде приложения, поле InInfo должно быть равно нулю.

Final Cut Pro X продается в Mac App Store, и все, что я видел, указывает на его "песочницу". Кто-нибудь знает, есть ли ошибка в песочнице FCPX, в распределенном центре уведомлений, или FxPlugs запускаются вне песочницы? Я предпочитаю, чтобы критический код не полагался на то, что работает, но не должно.

Мой код отправки уведомления в FxPlug:

NSDistributedNotificationCenter* dist = [NSDistributedNotificationCenter defaultCenter];
NSDictionary* dict = [NSDictionary dictionaryWithObjectsAndKeys:@"First value", @"key1",
                     @"Second value from FCPX", @"key2", @"Third & final value", @"3key3", nil];

[dist postNotificationName:@"FCPX plugin"
                    object:@"SFPCommApp"
                  userInfo:dict];

И получение кода в другом приложении:

m_center = [NSDistributedNotificationCenter defaultCenter];
[m_center addObserver:self 
             selector:@selector(GetNotification:) 
                 name:nil 
               object:listenTo];

// in GetNotification
NSString *notifString = [notification description];
NSString *dispString = @"Got notification from Final Cut Pro X";
dispString = [dispString stringByAppendingString:notifString];
// dispString displayed in a dialog

Он работает в отладчике Xcode и полностью вне Xcode (оба запускаются из Finder). Кроме того, мне нужно поддерживать 10.6, поэтому не могу использовать XPC.

Идеи о других методах отправки данных из FxPlug? Спасибо!

1 ответ

Если вы загружаете последнюю версию FxPlug SDK (3.0) с сайта разработчика Apple, она содержит обновленные примеры создания FxPlug с XPC. Final Cut Pro X пока не изолирован в песочнице, но, скорее всего, это произойдет в будущем.

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