如何禁止我的应用程序参与 macOS 上的 ⌘+tab 循环?

How do I disable my application from participating in the ⌘+tab cycle on macOS?

我正在尝试编写一个将自身附加到当前 main/key window 的小型实用程序。我设法确保 window 不能成为关键或主要 window,但当我使用 ⌘+tab.

时它仍然显示在活动应用程序列表中

该应用程序应该仍在 Dock 中(因此您可以退出它并进行其他交互),但我宁愿它在按 ⌘+tab 时不显示在应用程序列表中。

当我发现 NSApplicationPresentationDisableProcessSwitching 时,我以为我找到了答案,但是,唉,那是系统范围的(!),这肯定不是我想要的。

将 "Application is an agent (UIElement)" 添加到 Info.plist(原始密钥:NSUIElement)以将您自己从停靠栏中移除。然后创建一个状态栏项 (NSStatusItem) 来保存您的菜单。