mac重新启动后出现意外的-psn_0_665552命令行参数



当我重新启动mac时,如果我正在开发的应用程序在重新启动期间正在运行,macos会在重新启动后立即启动该应用程序,并使用"-psn_0_65552"参数。我认为这与重新启动提示时启用的"重新登录时重新打开窗口"复选框有关。我试图找到关于这个论点的任何文件,但没有成功。所以,我的问题是:

  1. 这种行为有记录吗
  2. 我的应用程序应该能够处理任何其他奇怪的命令行参数
  3. 我可以避免在mac重启后重新打开我的应用程序吗

还没有其他人向您提供任何东西,所以这可能会有所帮助:

  1. 这种行为有记录吗

状态保存和恢复机制至少通过您可以调用的方法来部分记录,例如NSWindowrestorable&encodeRestorableStateWithCoder:NSWindowDelegatewindow:willEncodeRestorableState:NSApplicationrestoreWindowWithIdentifier:state:completionHandler:等。然而,各种AppKit类如何保存和恢复所有信息并没有公开记录(文档中有这样的声明)。

  1. 我的应用程序应该能够处理任何其他奇怪的命令行参数

任何人的猜测。

  1. 我可以避免在mac重启后重新打开我的应用程序吗

也许吧。有些应用程序在重新启动时不会重新启动,无论是它们的作者控制了这一点还是它的偶然性,我都不知道。

这里有一个建议:为自己编写一个非常基本的GUI应用程序,它只需在启动时将参数和环境(您可以使用NSProcessInfo来获取所有参数和环境)保存为用户默认值。从Xcode、Finder和Terminal为您的应用程序提供午餐。打开时重新启动。查看用户默认值(查看其沙箱并在Xcode中打开.plist)。注意到什么了吗?想依靠它吗?你的电话。

你能想出其他方法来跟踪你的应用程序启动和用户发起的退出吗?也许在用户默认设置中设置和删除标志?玩得高兴

HTH-

最新更新