我想启用AppleScript以显示我正在开发的自定义首选项窗格中的特定选项卡,以便这样做:
tell application "System Preferences"
reveal anchor "Foo" of pane id "com.example.preferences.Bar"
end tell
我无法在任何地方找到我的偏好设置窗格如何声明或指定"Foo"
锚点或将其与任何特定标签视图项关联。
答案 0 :(得分:1)
对于那些因我所做的挫折而来到这个问题的人,我在这里记录了能够获得自定义NSPreferencePane
锚点的步骤。
最大的提示来自@geowar:
Google GPGPreferences.searchTerms字典揭示了一些线索的元素...(AFAIK,这在任何地方都没有记录......)
我第一次看到这个问题时忽略了这个评论,第二次看到GPGPreferences.m
文件,更具体地说是revealElementForKey
方法,但无法弄清楚功能如何实际上被叫了。
关键字为searchTerms
。
当我终于找到这篇文章SearchablePreferencePanes时,我才意识到这一点。
步骤:
NSPrefPaneSearchParameters
添加Info.plist
密钥,其值类似于MyPreferencePane
。MyPreferencePane.searchTerms
的文件。此文件的内容应该是包含字典的属性列表,该字典看起来类似于下面的字典(取自Sound
首选项窗格)。这不仅允许用户在搜索指定的术语时获得首选项窗格的匹配,而且还生成首选项窗格的锚点。revealElementForKey(key: String)
的{{1}}方法。当用户在搜索术语后打开窗格时以及在调用ScriptingBridge锚类的NSPreferencePane
方法时,都会调用此方法。享受生活。
reveal()
答案 1 :(得分:0)
首先,您必须确保您搜索的内容是锚点,而不是其他类型的对象。 然后使用下面的脚本来获取每个锚名称:(在此示例中获取声音首选项的锚点将提供"输出","输入",...)
tell application "System Preferences"
activate
set current pane to pane id "com.apple.preference.sound"
get the name of every anchor of current pane
end tell