MacOS 应用程序在用户退出后重新打开
MacOS Application Reopens After the User Quits
我在 Mac App Store 上有一个应用程序,在过去的几周里,一些人抱怨说当他们退出该应用程序时,它会再次重新打开。
由于该应用程序是沙盒化的,因此在用户选择退出后,我的应用程序在技术上应该不可能自行重新打开(即使我希望它重新打开)。所以,我不知道出了什么问题,我无法重现这个问题。
有什么想法吗?
我们还没有看到这个确切的问题,但在我们覆盖 - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
方法的地方出现了类似的问题。
在某些情况下,我们会返回 NSTerminateLater
或“NSTerminateCancelinstead of
NSTerminateNow”。反过来,应用程序将继续 运行,即使在用户告诉我们退出后也是如此。
我们弄清楚出了什么问题以及如何解决它。
首先,由于该应用程序是沙盒化的,因此从技术上讲,我们不可能用我们的代码造成这种情况。但是,根据用户的说法,LauchAgents 目录中有一个 plist 文件(以我们的应用程序命名)导致我们的应用程序重新启动。删除该文件后,一切又好了。至于为什么这个条目首先存在以及它是如何到达那里的:¯\_(ツ)_/¯
希望这对遇到同样问题的人有所帮助。
我在 Mac App Store 上有一个应用程序,在过去的几周里,一些人抱怨说当他们退出该应用程序时,它会再次重新打开。
由于该应用程序是沙盒化的,因此在用户选择退出后,我的应用程序在技术上应该不可能自行重新打开(即使我希望它重新打开)。所以,我不知道出了什么问题,我无法重现这个问题。
有什么想法吗?
我们还没有看到这个确切的问题,但在我们覆盖 - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
方法的地方出现了类似的问题。
在某些情况下,我们会返回 NSTerminateLater
或“NSTerminateCancelinstead of
NSTerminateNow”。反过来,应用程序将继续 运行,即使在用户告诉我们退出后也是如此。
我们弄清楚出了什么问题以及如何解决它。
首先,由于该应用程序是沙盒化的,因此从技术上讲,我们不可能用我们的代码造成这种情况。但是,根据用户的说法,LauchAgents 目录中有一个 plist 文件(以我们的应用程序命名)导致我们的应用程序重新启动。删除该文件后,一切又好了。至于为什么这个条目首先存在以及它是如何到达那里的:¯\_(ツ)_/¯
希望这对遇到同样问题的人有所帮助。