通过Swift访问MacOS中的键盘设置

时间:2015-11-26 10:52:02

标签: xcode swift macos nsuserdefaults

所以这就是我要做的事情:

我想构建一个小应用程序,在MacOS的顶栏中放置一个图标。单击此图标时,应切换“系统首选项>键盘>使用键F1,F2,...作为标准功能键”设置。所以它基本上像Caffeine一样只用于不同的设置。

这是我目前的代码(仍处于测试阶段):

class AppDelegate: NSObject, NSApplicationDelegate {

    func test() {
        let defaults = NSUserDefaults.standardUserDefaults().dictionaryRepresentation()

        for value in defaults.keys {
            print(value + " - " + String(defaults[value]))
        }

    }

    func applicationDidFinishLaunching(aNotification: NSNotification) {
        test()
    }
}

到目前为止,这个想法是获取NSUserDefaults并获得所有键及其中存储的值的概述。这是我的问题:我怎么知道我需要哪个键才能访问我想要的设置?我找不到任何包含“键盘”的键(我希望看到像"com.apple.keyboard.*"这样的键)。 我没有找到任何文档,涵盖了访问某些设置的可能键的范围。

如果有人能帮助我,我真的很感激!

谢谢你,祝你有个美好的一天!

1 个答案:

答案 0 :(得分:2)

嗯,具有讽刺意味的是,我在发布问题后几分钟就找到了它,但也许这可以帮助人们找到其他密钥来访问某些设置。

首先,我要找的关键是"com.apple.keyboard.fnState"

现在,您可以找到您正在寻找的密钥:

在访问NSUserDefaults之前,请务必更改您尝试操作至少一次的设置。这样您就可以保证将此设置的条目写入NSUserDefaults。而这正是我无法找到密钥的原因,因为我从未接触过这种设置(考虑到我想要实现的目标,这可能被视为愚蠢,但那是由...决定......)。

旁注:我仍然认为Apple没有任何文档可以解决这个问题。

希望这有助于其他人!