在macOS 10.10+上操作(隐藏)第三方菜单栏图标

bee*_*eeb 10 macos cocoa swift swift2

我想以编程方式操作macOS中的菜单栏图标,理想情况下支持Swift中的Yosemite,El Capitan和Sierra.我主要想要的是暂时隐藏一些或所有第三方图标(当你有十几个图标时,它会变得有点疯狂).

一个示例实现是Bartender(https://www.macbartender.com).我想创建一个更简单的版本,其中菜单栏图标应用程序将在单击时切换除自身之外的所有其他第三方图标.我不需要在其他任何地方显示图标.

看看Bartender,看起来需要一个具有管理员权限的帮助应用程序.更重要的是,如果我调试我的一个创建菜单栏项的应用程序,我在调度控制台中看到以下内容:

2016-12-06 10:14:47.936 MyApp[2747:22676] Bartender: Loaded BartenderHelperTwoOneThree
Run Code Online (Sandbox Code Playgroud)

所以看起来Bartender在这个过程中注入了它的帮手,不是吗?我刚刚验证了,Helper是一个BartenderHelper.osax文件/Library/ScriptingAdditions.此包包含具有相同名称的二进制PlugIns文件,以及包含的文件夹BartenderHelperTwoOneThree.bundle,其本身包含同名的二进制文件.

我不知道在哪里看,我搜索SO和谷歌到目前为止没有给我任何东西.我没有沙箱限制.

谢谢.