Я недавно взялся за это, и вот что сработало для меня.Все три вещи обрабатываются в AppDelegate:
// Ответ на повторное открытие выбора меню приложения
- (IBAction)showMainWindow:(id)sender
{
[self applicationShouldHandleReopen:nil hasVisibleWindows:YES];
[[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
}
// Это необходимо, если вы хотите, чтобы главное окно появилось после его закрытия пользователем
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[_window setReleasedWhenClosed:NO];
}
// Это нужно, если вы хотите, чтобы главное окно появилось после того, как его закрыл пользователь
- (BOOL)applicationShouldHandleReopen:(NSApplication *)sender hasVisibleWindows:(BOOL)flag{
[_window setIsVisible:YES];
return YES;
}