Подтвердить что ты не робот

Система добавляет нежелательные элементы в мое настроенное контекстное меню в моем приложении

Я настроил контекстное меню для моего приложения Cocoa таким образом, что видны только определенные элементы. Несмотря на мою настройку, я обнаружил, что система добавляет пункт меню "Добавить в iTunes в качестве голосовой дорожки".

Я попытался удалить этот элемент из меню, но каким-то образом я не могу получить контроль. Есть ли способ удалить этот элемент или мне нужно написать AppleScript для отключения опции iTunes в разделе "Ярлыки клавиш"? Я ненавижу делать это, так как мне придется восстановить его для пользователя.

4b9b3361

Ответ 1

Есть ли способ удалить этот элемент или мне нужно написать AppleScript для отключения опции iTunes в разделе "Ярлыки клавиш"?

Не сражайтесь с Системой; эти пункты обслуживания должны отображаться в каждом контекстном меню, как указано в Системных настройках. Он даже появляется в контекстном меню Safari, которое я использую для просмотра этого сообщения прямо сейчас. Да, я согласен с тем, что включение "добавить в iTunes" по умолчанию - это плохой выбор со стороны Apple, но эта жизнь.

Возможно, у пользователя есть свой собственный пункт обслуживания, который он установил, например, как действие Automator. В этом случае пользователь, вероятно, не хочет удалять его.

Ответ 2

Вы можете управлять содержимым этих меню (общесистемной) с помощью настроек.

См. "Системные настройки" > "Клавиатура" > "Горячие клавиши" > "Службы" > "Текст"

Ответ 3

По моему опыту, элементы Apple по умолчанию запускают точное название меню. Например, у меня есть игрушечное приложение с NSMenu, которое я создаю полностью в коде (no nib). Я обнаружил, что в меню "Вид" появляется дополнительный элемент (для полного экрана), если я инициализирую его следующим образом:

    NSMenu* viewMenu = [[NSMenu alloc]initWithTitle:@"View"];

Однако, если я добавлю дополнительное пространство в имя, то Apple не испортит его:

    NSMenu* viewMenu = [[NSMenu alloc]initWithTitle:@"View "];