我正在使用最新的Catalina上的XCode 11.1,并且没有调用我的应用程序的退出事件。如果我从任何地方观察它,都不会在AppDelegate中找到applicationShouldTerminate,也不会得到NSApplicationWillTerminateNotification。这是使用默认情节提要的XCode应用模板中的默认退出行为(使用菜单quit命令,Command-Q或使用applicationShouldTerminateAfterLastWindowClosed返回YES关闭窗口)。
使用全新的Xcode项目模板会发生这种情况(如果我启动新的macOS“ App”模板,则将applicationShouldTerminate方法添加到应用程序委托中。)
正在调用诸如applicationShouldTerminateAfterLastWindowClosed之类的其他委托方法。
我是在做些非常错误的事情还是卡塔琳娜(Catalina)搞砸了?
答案 0 :(得分:5)
好吧,我知道了,这是因为似乎NSSupportsSuddenTermination现在默认处于打开状态。
答案 1 :(得分:1)
NSSupportsSuddenTermination也称为“用户在Xcode中关闭或注销时可以立即终止应用程序”,并且默认情况下处于启用状态。
感谢@toastie