系统在我的应用程序中定制的上下文菜单中添加了不需要的项目。

12

我已经定制了我的Cocoa应用程序的上下文菜单,使得只有特定的项目可见。尽管我进行了自定义,但我发现系统会添加一个菜单项--“作为语音轨迹添加到iTunes中”。

我尝试将此项从菜单中删除,但不知何故,我无法控制它。是否有方法可以删除此项,或者我必须编写一个AppleScript来禁用键盘快捷键下的iTunes选项?我不想这样做,因为我还需要为用户恢复它。


1
你应该将第二个答案重新分类为被采纳的答案。 - theblang
1
@mattblang 不应该这样做。被接受的答案是这个问题的正确答案。 - Chuck Le Butt
3个回答

63

您可以使用“首选项”来控制这些菜单(全局系统)。

请参见系统偏好设置 > 键盘 > 键盘快捷键 > 服务 > 文本


4
应该接受这个答案......这是寻找调整上下文菜单的完美地方。感谢@Bwooce! - beefchimi
6
虽然这解决了开发人员的问题,但对于 OP 应用的用户来说并没有解决问题。该菜单项仍会出现在任何启用它的用户面前(在 Yosemite 上默认启用)。 - bindsniper001
2
这实际上是我来这里寻找的答案,但如果你阅读问题,它并不是 OP 所询问的答案。 - Chuck Le Butt

0
根据我的经验,苹果的默认项会根据菜单的确切标题触发。例如,我有一个玩具应用程序,其中包含一个NSMenu,我完全是通过代码创建的(没有nib文件)。如果我按照以下方式初始化它,我会发现“视图”菜单会多出一个项目(用于全屏):
    NSMenu* viewMenu = [[NSMenu alloc]initWithTitle:@"View"];

然而,如果我在名称中多加一个空格,Apple就不会对其进行更改:
    NSMenu* viewMenu = [[NSMenu alloc]initWithTitle:@"View "];

-8
这个项目有没有办法被移除,或者我必须编写一个AppleScript来禁用键盘快捷键下的iTunes选项?
不要与系统对抗;这些服务项目应该出现在每个上下文菜单中,如系统偏好设置中所指定的那样。它甚至出现在我正在使用Safari查看此帖子的上下文菜单中。是的,我同意默认启用“添加到iTunes”是苹果公司糟糕选择,但这就是生活。
也许用户有自己安装的服务项目,比如Automator操作。在这种情况下,用户可能不想将其删除。

2
尽管有许多负评,但这实际上是正确的答案。为什么?因为 OP 正在询问他的 自己的应用程序 是否能够更改 用户的偏好设置。我们都不希望应用程序替我们更改系统偏好设置,而 OP 并没有询问如何在自己的系统上更改偏好设置。 - Chuck Le Butt
这是成为“移除添加到iTunes作为语音曲目”的第一个谷歌搜索结果的恶果。 - Emile Bergeron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接