Как скрыть окно процесса UIAgent с какао

У меня есть UIAgent приложение с одним окном. Я хочу скрыть / показать это из другого приложения. Как мне сделать это с какао? Похоже на hide/unhide методы NSRunningApplication не влияет на процессы UIAgent.

заранее спасибо

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 Параметр действительно является идентификатором пакета приложения отправителя.

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