Добавление панели настроек в приложение
У меня есть приложение, которое находится в строке меню, очень похоже на это
И я пытаюсь создать для него панель настроек, как описано в документации Apple.
В этом руководстве показано, как создать плагин prefpane для системных настроек и окно настроек для автономного приложения. Тем не менее, во втором случае, кажется, что-то упущено.
Итак, у меня есть основной класс приложения с -(IBAction) displayPreferences:(id)sender;
действие вызывается, когда пользователь нажимает "Настройки..." в меню.
И у меня также есть контроллер расширения NSPreferencePane
и подключен к NSWindow
объект в Интерфейсном Разработчике (просто нравится описание документов).
Вопрос в том, как их соединить? То есть,
-(IBAction) displayPreferences:(id)sender {
// what do we write here to display preferences window?
}
Спасибо!
2 ответа
Если вы хотите, чтобы системные настройки были открыты для вашей панели настроек, вы можете создать файл URL для вашего .prefPane
связать, а затем отправить это -[NSWorkspace openURL:]
, Если вы хотите четко указать параметры запуска, вы можете использовать -[NSWorkspace openURLs:withAppBundleIdentifier:options:additionalEventParamDescriptor:launchIdentifiers:]
,
Существует очень простой способ открыть настройки с помощью сценария Apple. Ну вот.
- Вы должны создать действие кнопки и установить выход предпочтений к действию кнопки
А затем, просто сделайте следующий скрипт Apple, чтобы открыть основные настройки системы
NSString *script = @"tell application \"System Preferences\"\n\tset the current pane to pane \"com.apple.preferences\"\n\tactivate\nend tell"; NSAppleScript *appleScript = [[NSAppleScript alloc] initWithSource:script]; [appleScript executeAndReturnError:nil];
Объект сценария может быть изменен в зависимости от того, где пользователь должен перемещаться. будь то настройки Bluetooth или настройки Wi-Fi.