wig*_*ing 2 macos swift swiftui
我在 Xcode 11.4 中创建了一个新的 macOS 项目,其中语言是 Swift,用户界面是 SwiftUI。在不对项目中的代码进行任何更改的情况下,通过执行以下步骤,应用程序将从 Dock 中消失:
如果 Mac 应用程序的窗口打开,则不会发生此行为。我可以选择其他正在运行的应用程序,然后毫无问题地返回到原始 Mac 应用程序。
这种行为称为自动终止。我发现这是一个错误功能,但苹果认为这是一个功能。
您的应用程序可能尚未真正退出。它可能只是看起来已经退出了。再次“启动”它只会使其重新出现在 Dock 中。也有可能一些看起来仍在运行的应用程序实际上已被系统终止。理论上,如果您尝试切换到它们,它们将被启动并被告知恢复之前的状态,以维持它们一直在运行的错觉。在实践中,应用程序(甚至是苹果的)很少能正确地将事物恢复到原来的样子。
活动监视器中的进程列表真实反映了实际运行和未运行的进程。查看此处以确定您的应用程序是否确实已终止。
开发人员应该必须选择自动终止,因为它需要对状态恢复进行显式编码。但是,Xcode 的应用程序项目/目标模板默认启用它。您可以NSSupportsAutomaticTermination从 Info.plist 中删除该密钥以禁用它。
同样,如果您不准备支持突然终止,您可能也想禁用它。你会删除NSSupportsSuddenTermination钥匙。
| 归档时间: |
|
| 查看次数: |
1215 次 |
| 最近记录: |