代码之家  ›  专栏  ›  技术社区  ›  Dale Harvey

如何打开OSX上的“共享菜单”首选项?

  •  1
  • Dale Harvey  · 技术社区  · 6 年前

    我试过:

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

    不过,这似乎不适用于新版本,有什么想法吗?

    System Preferences Extensions Pane

    1 回复  |  直到 6 年前
        1
  •  0
  •   Marc T.    6 年前

     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框架添加到项目中,并为系统首选项添加脚本桥头文件。关于如何使用脚本桥的更多详细信息,您可以在Apple的开发人员文档中找到。

    希望这有帮助