使用键盘焦点在沙盒上获取NSScreen

时间:2018-02-09 14:10:02

标签: swift macos cocoa accessibility appstore-sandbox

我想知道的是哪个NSScreen具有键盘焦点。

首先我添加了NSWorkspace.didActiveApplicationNotification的观察者,每当调用foo方法时,我需要确定哪个NSScreen具有键盘焦点。

NSWorkspace.shared.notificationCenter.addObserver(self, selector: #selector(foo), name: NSWorkspace.didActivateApplicationNotification, object: nil)

此通知中的所有内容都是NSRunningApplication对象,但它并不告诉我哪个屏幕是关注的。

NSScreen documentation中,我找到了NSScreen的main property及其说明

  

返回包含带键盘窗口的屏幕对象   对焦。

这正是我想要的,但它并没有像我想的那样奏效。它返回错误的屏幕。在头文件中,我找到了这个信息

  

//缓存值,可能是陈旧的

我尝试过Accessibility,一切正常,但是当启用Sandbox时它不起作用,所以我无法使用它。

有人知道如何使用键盘焦点获取NSScreen对象吗?

0 个答案:

没有答案