【发布时间】:2016-05-06 07:00:37
【问题描述】:
我正在创建一个 Mac 菜单栏应用程序,我希望在用户切换可见桌面空间(包括外部显示器)时收到通知。这是一个仅限菜单栏的应用程序(即没有实际窗口)。
我见过一些类似的问题,但似乎没有一个答案对我有用。我看到的大多数答案都涉及在NSWorkspace 的通知中心观察NSWorkspaceActiveSpaceDidChangeNotification。
我尝试在 applicationDidFinishLaunching 的 AppDelegate 中观察到这一点,我有以下代码:
NSWorkspace.sharedWorkspace().notificationCenter.addObserver(self,
selector: Selector(spaceChanged()),
name: NSWorkspaceActiveSpaceDidChangeNotification,
object: nil)
在我的spaceChanged() 函数中,我只是为了调试目的打印一些东西到控制台。这个函数只会在应用启动时被调用。每当我更改桌面空间时,我都不会收到通知。
我有什么遗漏吗?任何帮助表示赞赏。
【问题讨论】: