Можно ли ограничить Launch Services на Mac OSX (я на Yosemite, но, думаю, то же самое относится и к более старым версиям) от регистрации определенных комплектов приложений?

Например, если у меня на диске несколько копий одного и того же приложения, я не хочу, чтобы все они появлялись в меню "Открыть с помощью" для типа, который они обрабатывают. Я хочу, чтобы только один в /Applications был "зарегистрирован".

Я знаю, что могу удалить дубликаты в меню "Открыть с помощью", но это не так (на самом деле эти комплекты приложений находятся на диске в разных местах). Я также не хочу переименовывать эти пакеты приложений, помещать их в скрытые папки или архивировать их.

Можно ли настроить это поведение?

1 ответ1

2

Вы можете использовать lsregister -u для отмены регистрации приложения:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -u /path/to/application.app

Однако в какой-то момент приложение может быть снова зарегистрировано.

Если вы просто хотите удалить приложение из меню «Открыть с помощью», запустите defaults delete /path/to/Application.app/Contents/Info.plist CFBundleDocumentTypes . Изменение Info.plist нарушает сигнатуру кода, если приложение подписано, и это вызывало аварийное завершение приложений в песочнице при запуске с 10.8.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .