我有一个窗口的UIAgent应用程序。我想在其他应用程序中隐藏/显示它。如何使用可可粉?似乎hideunhide / NSRunningApplication方法不会影响UIAgent进程。

提前致谢

最佳答案

我用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参数确实是您的发件人应用程序的捆绑包标识符。

关于cocoa - 如何用 cocoa 隐藏UIAgent进程的窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6368946/

10-09 16:32