Как открыть настройки «Поделиться меню» в OSX? - PullRequest
0 голосов
/ 30 июня 2018

Так же, как Safari, при попытке реализовать кнопку, при нажатии которой открываются Системные настройки> Расширения> Панель меню «Поделиться».

Я пробовал:

NSURL *URL = [NSURL URLWithString:@"x-apple.systempreferences:com.apple.preferences.extensions?Share_Menu"];
[[NSWorkspace sharedWorkspace] openURL:URL];

Однако кажется, что это не работает на более новых версиях, какие-либо идеи?

System Preferences Extensions Pane

1 Ответ

0 голосов
/ 30 июня 2018

Вы можете использовать Scripting Bridge, чтобы сделать что-то вроде этого:

 SBSystemPreferencesApplication *systemPrefs =
[SBApplication applicationWithBundleIdentifier:@"com.apple.systempreferences"];

[systemPrefs activate];

SBElementArray *panes = [systemPrefs panes];
SBSystemPreferencesPane *notificationsPane = nil;

for (SBSystemPreferencesPane *pane in panes) {
    if ([[pane id] isEqualToString:@"com.apple.preferences.extensions"]) {
        notificationsPane = pane;
        break;
    }

}

[systemPrefs setCurrentPane:notificationsPane];

SBElementArray *anchors = [notificationsPane anchors];

for (SBSystemPreferencesAnchor *anchor in anchors) {
    if ([anchor.name isEqualToString:@"Extensions"]) {
        [anchor reveal];
    }
}

Конечно, вам нужно добавить каркас ScriptingBridge в ваш проект и заголовочный файл Scripting Bridge для системных настроек. Более подробную информацию о том, как использовать Scripting Bridge, вы можете найти в документации разработчика от Apple.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...