Обрабатывать папки с расширением, например .service, как обычные папки вместо пакетов в Finder.

8

Есть ли способ заставить Finder обрабатывать папку с именем whatever.serviceпапки, а не службы?

Чтобы было ясно, легко воссоздать мою проблему. Я только что создал новую папку, переименовал ее name.serviceи больше не могу ее открывать. Кроме того, информация о файле не позволяет мне изменить тип или выбрать другую программу для открытия.

bejumi
источник
1
Правый клик (Ctrl-клик) и «Показать содержимое пакета» не делают то, что вы хотите?
Дун
@ Doon, Не тогда, когда нам нужно использовать его в пути вывода для другого программного обеспечения.
Бежуми

Ответы:

3

«Каталоги с расширениями файлов» (связки) - это распространенный способ в OS X объединять вещи, состоящие из нескольких файлов, в один пакет, например, расширения ядра, файлы iWork (до iWork 09), проекты iMovie, приложения и т. Д.

Обычно вы можете отредактировать Info.plistфайл приложения, чтобы удалить определение поврежденного пакета, которое оно определило - например, .themeдля iMovie.

Как .serviceопределено для системных служб (см., Например, /System/Library/Servicesдоступ к ним из пункта строки меню приложения, затем выберите « Службы» ), вы, вероятно, сломаете материал, удалив это определение.

Если вам повезло:

Откройте, /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plistнапример, с помощью Xcode (после изменения разрешений для файлов и каталогов, используя chmodв терминале) и удалите ошибочную запись в массиве CFBundleDocumentTypes .

введите описание изображения здесь

Вам нужны права администратора, чтобы сделать это. Я рекомендую иметь текущие резервные копии. Возможно, что-то сломается, если эта ассоциация не будет чисто косметической.

Даниэль Бек
источник
Интересно, что делает отключение их через RCDefaultApp .
Slhck
@slhck Запустите opensnoopи посмотрите, что происходит на вашем диске, когда вы меняете этот параметр.
Даниэль Бек
Я попытался закомментировать запись CoreTypes.bundle/Contents/Info.plist, но это не повлияло на то, как .serviceFinder обрабатывает s.
Lri
@Lri Обновили ли вы базу данных Launch Services, как описано в связанной теме? Я забыл упомянуть это снова здесь.
Даниэль Бек
2
Я должен был упомянуть об этом раньше, но оба раза я пытался изменить CoreTypes.bundle/Contents/Info.plistего, почти что закрывал меня от OS X. Никаких графических приложений не запускалось после обычного входа в систему. Восстановление CoreTypes.bundleиз резервной копии Time Machine появилось, чтобы исправить это. (Я все еще довольно озадачен, почему это произошло - я не изменил разрешения или владельца Info.plistи не должен был сделать это недействительным.)
Lri