我实现了applicationWillTerminate方法,但它永远不会被调用
-(void)applicationWillTerminate:(NSNotification *)notification
{
[[NSApplication sharedApplication] terminate:self];
NSLog(@"EOP");
}
如何在应用程序关闭之前执行一些代码?
由于
答案 0 :(得分:5)
我刚刚添加了
-(BOOL) applicationShouldTerminateAfterLastWindowClosed:(NSApplication *) sender{
return YES;
}
现在applicationWillTerminate调用
答案 1 :(得分:1)
请在您的plist中设置一个密钥(UIApplicationExitsOnSuspend
)至YES
。
键:UIApplicationExitsOnSuspend
类型:布尔
价值:是
答案 2 :(得分:1)
解决方案1:
在项目信息(NSSupportsSuddenTermination
键)中将应用程序可立即终止设置为否。
然后,applicationWillTerminate
函数将在应用程序退出之前被调用。
解决方案2:
如果您需要取消终止,那么您应该覆盖applicationShouldTerminate
函数
func applicationShouldTerminate(_ sender: NSApplication) -> NSApplication.TerminateReply {
// Do some stuff before quitting for good
return .terminateNow
}