0

我有一个UIAgent带有一个窗口的应用程序。我想从另一个应用程序中隐藏/显示它。我如何使用可可来做到这一点?似乎hide/unhide方法NSRunningApplication不会影响 UIAgent 进程。

提前致谢

4

1 回答 1

1

我用NSDistributionNotifications. 在 UIAgent 应用程序中,我将观察者添加到@"QuitProcessNotification"(任何其他名称):

[[NSDistributedNotificationCenter defaultCenter]
                             addObserver:self selector:@selector(quit:) 
                             name:@"QuitProcessNotification" 
                             object:@"com.MyCompany.MyApp" 
                             suspensionBehavior:NSNotificationSuspensionBehaviorDeliverImmediately];

回调看起来像这样:

- (void) quit:(NSNotification *) notification
{
    [NSApp terminate:nil];
}

在主应用程序中:发送通知:

[[NSDistributedNotificationCenter defaultCenter]
                     postNotificationName:@"QuitProcessNotification" 
                     object:@"com.MyCompany.MyApp"
                     userInfo: nil /* no dictionary */
                     deliverImmediately: YES];

请确保该object参数确实是您的发送者应用程序的捆绑标识符。

于 2011-06-16T17:19:15.187 回答