Mac app disappears when window is closed then another app is selected

前端 未结 1 1345
时光说笑
时光说笑 2021-01-16 13:34

I created a new macOS project in Xcode 11.4 where the language is Swift and user interface is SwiftUI. Without making any changes to the code in the project, the app will di

相关标签:
1条回答
  • 2021-01-16 13:52

    This behavior is known as Automatic Termination. I find it a misfeature, but Apple considers it a feature.

    Your app may not have actually quit. It may just appear to have quit. "Launching" it again will just make it reappear in the Dock. It's also possible that some apps which look like they're still running have actually been terminated by the system. In theory, if you try to switch to them, they will be launched and told to restore their previous state to maintain the illusion that they were running all along. In practice, apps (even Apple's) rarely properly restore things to exactly how they were.

    The process list in Activity Monitor is a true reflection for what is and is not actually running. Look there to determine if your app has really been terminated.

    A developer is supposed to have to opt-in to Automatic Termination because it requires explicit coding of state restoration. However, Xcode's app project/target templates have it enabled by default. You can remove the NSSupportsAutomaticTermination key from your Info.plist to disable it.

    Likewise, you'll presumably want to disable Sudden Termination, too, if you're not prepared to support it. You would remove the NSSupportsSuddenTermination key.

    0 讨论(0)
提交回复
热议问题