系统正在将不需要的项添加到我的应用中的自定义上下文菜单中

Pra*_*ant 12 macos cocoa contextmenu nsmenu

我已经为我的Cocoa应用程序定制了上下文菜单,以便只显示某些项目.尽管我进行了自定义,但我发现系统添加了一个菜单项 - "将iTunes添加为语音轨道".

我尝试从菜单中删除此项目但不知何故,我无法获得控制权.有没有办法删除这个项目,或者我是否必须编写AppleScript来禁用键盘快捷键下的iTunes选项?我讨厌这样做,因为我将不得不为用户恢复它.

Bwo*_*oce 63

您可以使用"首选项"控制这些菜单的内容(系统范围).

请参阅系统首选项 > 键盘 > 键盘快捷键 > 服务 > 文本

  • @beefchimi虽然这解决了开发人员的问题,但它并没有解决OP应用程序用户的问题.对于启用它的任何用户,该菜单项仍将显示(默认情况下,它在Yosemite上启用). (6认同)
  • 这应该是公认的答案...寻找调整上下文菜单的完美场所.谢谢@Bwooce! (4认同)
  • 这实际上是我来到这里寻找的答案,但如果你读到这个问题,那不是OP所要求的答案. (2认同)

Yuj*_*uji -8

有没有办法可以删除此项目,或者我是否必须编写 AppleScript 来禁用键盘快捷键下的 iTunes 选项?

不要与系统对抗;这些服务项目应该出现在每个上下文菜单上,如系统首选项中指定的那样。它甚至出现在我现在用来查看这篇文章的 Safari 的上下文菜单上。是的,我同意默认启用“添加到 iTunes”对于 Apple 来说是一个糟糕的选择,但这就是生活。

也许用户有他/她自己安装的服务项目,例如作为自动化操作。在这种情况下,用户可能不想将其删除。

  • 尽管有很多反对票,但这实际上是正确的答案。为什么?因为OP正在询问他的“自己的应用程序”是否能够更改“用户的首选项”。我们谁都不希望应用程序为我们更改我们的系统首选项,并且 OP 也不会要求一种方法来更改他们自己系统上的首选项。 (2认同)