applicationWillTerminate не вызывается

Я реализовал метод applicationWillTerminate, но он никогда не вызывался

-(void)applicationWillTerminate:(NSNotification *)notification
{
    [[NSApplication sharedApplication] terminate:self];
    NSLog(@"EOP");
}

Как выполнить некоторый код перед закрытием приложения?

Спасибо

2 ответа

Решение

Я только добавил

-(BOOL) applicationShouldTerminateAfterLastWindowClosed:(NSApplication *) sender{
return YES;
}

Теперь вызывается applicationWillTerminate

Решение 1:

Установить Заявление может быть немедленно убит в NO в информации проекта (NSSupportsSuddenTerminationключ). В applicationWillTerminate функция будет вызвана перед завершением работы приложения.

Решение 2:

Если вам нужно иметь возможность отменить прекращение, вам лучше переопределить applicationShouldTerminate функция

func applicationShouldTerminate(_ sender: NSApplication) -> NSApplication.TerminateReply {
    // Do some stuff before quitting for good
    return .terminateNow
}

Пожалуйста, установите ключ (UIApplicationExitsOnSuspendв твоем листе YES,

Ключ: UIApplicationExitsOnSuspend
Тип: логическое значение
Значение: ДА

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