FxPlugs是否在Final Cut Pro X内沙盒?

时间:2013-06-10 19:19:32

标签: plugins sandbox finalcut

我正在使用Final Cut Pro X的插件,需要将数据发送到另一个程序。到目前为止,我可以使用NSDistributedNotificationCenter来实现它,但不应该工作。根据其Apple Developer页面:

  

重要提示:沙盒应用只有在不包含字典时才能发送通知。如果发送应用程序位于App Sandbox中,则notificationInfo必须为nil。

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 个答案:

答案 0 :(得分:2)

如果您从Apple's developer site下载最新的FxPlug SDK(3.0),它会包含使用XPC构建FxPlug的更新示例。 Final Cut Pro X还没有沙盒,但它似乎很可能在未来。