Для всех, кто приходит на этот вопрос с количество разочарования я сделал, я документирую здесь шаги, чтобы иметь возможность получить якоря для вашего пользовательского NSPreferencePane
.
Наибольший намек был из @geowar:
Google GPGPreferences.searchTerms словарь revealElementForKey для некоторых подсказок ... (AFAIK это нигде не документированы ...)
я проглядел этот комментарий первым время я пришел к этому вопросу, во второй раз я посмотрел на файл GPGPreferences.m
, точнее на метод revealElementForKey
, но не смог понять, как вызвана функция.
Ключевое слово: searchTerms
.
Я только осознал это, когда наконец нашел эту статью SearchablePreferencePanes.
Шаги:
- Добавить
NSPrefPaneSearchParameters
ключ к Info.plist
вашему предпочтению панели расслоения со значением что-то вроде MyPreferencePane
.
- Создайте файл с именем
MyPreferencePane.searchTerms
в своем проекте Xcode. Содержимое этого файла должно быть списком свойств, содержащим словарь, который выглядит примерно так, как показано ниже (взято из панели предпочтений Sound
). Это позволит не только пользователям получать хит для вашей области предпочтений при поиске указанных условий, но также будет генерировать якоря для панели предпочтений.
- Внесите метод
revealElementForKey(key: String)
в свой класс, который наследуется от NSPreferencePane
. Этот метод будет вызываться как при открытии пользователем окна после поиска термина, так и при вызове метода reveal()
для класса привязки ScriptingBridge.
- Boom!
Наслаждайтесь жизнью.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>effects</key>
<dict>
<key>localizableStrings</key>
<array>
<dict>
<key>comments</key>
<string>Localizable index words</string>
<key>index</key>
<string>noises, audio, hear, level, volume, louder, softer, quieter, increase, decrease, raise, lower, speaker, beep, warning, bell, ding, ring, hearing, beeping, dinging, ringing</string>
<key>title</key>
<string>Alerts and sound effects</string>
</dict>
<dict>
<key>comments</key>
<string>Localizable index words</string>
<key>index</key>
<string>audio, hear, level, volume, louder, softer, quieter, increase, decrease, raise, lower, music, speakers, hearing</string>
<key>title</key>
<string>Sound volume</string>
</dict>
<dict>
<key>comments</key>
<string>Localizable index words</string>
<key>index</key>
<string>audio, hear, level, volume, louder, softer, quieter, increase, decrease, raise, lower, quiet, silent, silence, turn off, hearing, muting</string>
<key>title</key>
<string>Mute the sound</string>
</dict>
<dict>
<key>comments</key>
<string>Localizable index words</string>
<key>index</key>
<string>menubar</string>
<key>title</key>
<string>Show volume in menu bar</string>
</dict>
</array>
</dict>
<key>input</key>
<dict>
<key>localizableStrings</key>
<array>
<dict>
<key>comments</key>
<string>Localizable index words</string>
<key>index</key>
<string>audio, hear, level, volume, louder, softer, quieter, increase, decrease, raise, lower, devices, sources, microphones, instruments, MIDI, record, line in, hearing, recording</string>
<key>title</key>
<string>Sound input</string>
</dict>
</array>
</dict>
<key>output</key>
<dict>
<key>localizableStrings</key>
<array>
<dict>
<key>comments</key>
<string>Localizable index words</string>
<key>index</key>
<string>devices, headphones, headsets, speakers, hear, balance, hearing, head phones, head sets</string>
<key>title</key>
<string>Sound output</string>
</dict>
<dict>
<key>comments</key>
<string>Localizable index words</string>
<key>index</key>
<string>airplay, speakers</string>
<key>title</key>
<string>AirPlay audio streaming</string>
</dict>
</array>
</dict>
</dict>
</plist>
Google GPGPreferences.searchTerms словарь revealElementForKey для некоторых подсказок ... (AFAIK это нигде не документированы ...) – geowar
поиска также developer.apple.com для NSPrefPaneHelpAnchors ... (надеюсь, что это помогает ... ;-) – geowar
Если вы не» t получить удовлетворительный ответ, обратитесь в службу технической поддержки разработчиков Apple () для «официального» ответа. –
geowar