MacOS 应用程序在用户退出后重新打开

MacOS Application Reopens After the User Quits

我在 Mac App Store 上有一个应用程序,在过去的几周里,一些人抱怨说当他们退出该应用程序时,它会再次重新打开。

由于该应用程序是沙盒化的,因此在用户选择退出后,我的应用程序在技术上应该不可能自行重新打开(即使我希望它重新打开)。所以,我不知道出了什么问题,我无法重现这个问题。

有什么想法吗?

我们还没有看到这个确切的问题,但在我们覆盖 - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender 方法的地方出现了类似的问题。

在某些情况下,我们会返回 NSTerminateLater 或“NSTerminateCancelinstead ofNSTerminateNow”。反过来,应用程序将继续 运行,即使在用户告诉我们退出后也是如此。

我们弄清楚出了什么问题以及如何解决它。

首先,由于该应用程序是沙盒化的,因此从技术上讲,我们不可能用我们的代码造成这种情况。但是,根据用户的说法,LauchAgents 目录中有一个 plist 文件(以我们的应用程序命名)导致我们的应用程序重新启动。删除该文件后,一切又好了。至于为什么这个条目首先存在以及它是如何到达那里的:¯\_(ツ)_/¯

希望这对遇到同样问题的人有所帮助。