Mac OSX:如何知道应用程序是否在会话启动/登录时自动启动?

Reg*_*_AG 5 macos session xcode startup app-startup

我的应用程序的用户可以选择他们是否想要(或不)在他们的会话启动时启动我的应用程序.

为此,我使用LSSharedFileListRef,如下所述:如何在登录时打开您的应用程序?

我现在想要的是知道我的应用程序是在会话启动时自动启动还是通过单击Dock中的图标来启动.实际上,我必须在这两种情况下采取不同的行动.

我感觉不可能在以下委托方法中使用通知的参数来执行此操作:

- (void)applicationDidFinishLaunching:(NSNotification *)notification
Run Code Online (Sandbox Code Playgroud)

我看过以下帖子,但他们没有帮助:

我怎么知道我的应用程序是如何在Mac OS上启动的?=>没有答案,除了一些链接到其他帖子,这些链接没有帮助...

知道用户是否启动了应用程序 =>我没有看到如何设置/获取此帖子中定义的"Y"参数

Mac OS X:登录时打开应用程序,不显示主窗口 =>处理启动时隐藏或不隐藏主窗口的事实; 我想要的更通用:如何知道应用程序是如何启动的?

有人可以帮帮我吗?

谢谢 !

hd1*_*hd1 -1

打开终端窗口,键入last | grep '^reboot' | awk 'END { print $3" "$4" "$5" "$6 }'以获取重新启动时间并匹配特定应用程序启动的时间,如 @AnoopVaidya 指出的那样。