Система добавляет нежелательные элементы в мое настроенное контекстное меню в моем приложении
Я настроил контекстное меню для моего приложения Cocoa таким образом, что видны только определенные элементы. Несмотря на мою настройку, я обнаружил, что система добавляет пункт меню "Добавить в iTunes в качестве голосовой дорожки".
Я попытался удалить этот элемент из меню, но каким-то образом я не могу получить контроль. Есть ли способ удалить этот элемент или мне нужно написать AppleScript для отключения опции iTunes в разделе "Ярлыки клавиш"? Я ненавижу делать это, так как мне придется восстановить его для пользователя.
Ответы
Ответ 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 "];