Swift:如何使用退出代码退出macOS应用程序

Swift:如何使用退出代码退出macOS应用程序,swift,swift3,exit,nsapplication,Swift,Swift3,Exit,Nsapplication,我使用.app捆绑我的命令行工具(我使用框架) 要退出应用程序,我使用NSapp.terminate(self)并捕获它: func applicationWillTerminate(_ aNotification: Notification) { if exitSuccessful { print("successful") } else { print("not successful") exit(1) } } 这

我使用
.app
捆绑我的命令行工具(我使用框架)

要退出应用程序,我使用
NSapp.terminate(self)
并捕获它:

func applicationWillTerminate(_ aNotification: Notification) {

    if exitSuccessful {
        print("successful")
    } else {
        print("not successful")
        exit(1)
    } 
}
这样做会退出应用程序,但非常苛刻,因为退出(1)后不会进行解构/释放或任何操作。在我的机器上,退出代码设置正确,但我有报告说退出代码为132(SIGILL)

我发现了一些相关的东西,但仅适用于“纯”命令行实用程序:


有什么想法吗?

我不知道你在问什么。当应用程序即将退出时,将调用applicationWillTerminate委托。然后就结束了。您不必手动退出。但是如果你想在它退出之前“清理”一些东西,如果你的exitSuccessful bool为false,那么就这样做,而不是调用“exit”。)除非我误解了你的问题?谢谢你的回答!退出时的进程将返回退出代码。成功完成时为0,其他情况下为非零。我的目标是在出现错误时退出1,这样它就可以被调用appRelated的脚本捕获到→ 我不知道你在问什么。当应用程序即将退出时,将调用applicationWillTerminate委托。然后就结束了。您不必手动退出。但是如果你想在它退出之前“清理”一些东西,如果你的exitSuccessful bool为false,那么就这样做,而不是调用“exit”。)除非我误解了你的问题?谢谢你的回答!退出时的进程将返回退出代码。成功完成时为0,其他情况下为非零。我的目标是在出现错误时退出1,这样它就可以被调用appRelated的脚本捕获到→ 可能重复的