Несмотря на то, что я явно установил предпочтение Finder для отображения всех расширений файлов, я все же обнаружил, что некоторые приложения не показывают расширение имен файлов в своих результатах Spotlight.
Вот несколько примеров.
Я бегу Горный Лев.
macos
mountain-lion
spotlight
search
high-sierra
Красный и белый
источник
источник
Ответы:
TL; DR
По сути, это ошибка или исправление, появившееся в macOS 10.13 High Sierra: Spotlight теперь учитывает настройку Finder для отображения расширений файлов. Отключение этого параметра удаляет расширение .app из Spotlight.
Полный ответ
Я знаю, что это очень старый вопрос, но у меня только что была дежа-вю в 10.13 Высшая Сьерра; отличается от этого, но с некоторыми сходствами, поэтому я искал его и наткнулся на этот вопрос, и вот мой ответ:
Приложения на самом деле каталоги отображаются так, как если бы они были одним файлом; Apple называет это пакетом (несмотря на то, что Finder называет его « Пакет », как в « Показать содержимое пакета » в контекстном меню). Не только приложения являются пакетами, Apple использует пакеты также для платформ, плагинов, расширений приложений, служб XPI, определенных видов пакетов установки, а также формата хранения данных, если хранимые данные состоят из нескольких файлов, но должны отображаться как один файл (например, RTF-документ с изображениями может быть сохранен как пакет RTFD). Пакеты всегда имеют реальное имя, имя файла записи на диске. Поэтому, если отображать больше нечего, macOS отображает это имя везде.
Однако в пакетах есть информационный файл с именем named
Info.plist
, который содержит все виды метаданных о пакете. Одна вещь, которую такой информационный файл может определить - это отображаемое имя . Если такое отображаемое имя установлено, Finder отобразит отображаемое имя, а не реальное имя каталога. То есть, если каталог не был переименован, что Finder может обнаружить, если имя каталога не совпадает с именем пакета вInfo.plist
файле. Ну, я признаю, это немного сложно. Давайте попробуем это на примере:My App.app
Info.plist
этоMy App
Info.plist
этоMy Cool App
С этой комбинацией Finder покажет приложение как
My Cool App.app
(или просто,My Cool App
если расширения скрыты). Пока (1) и (2) совпадают по имени, отображается (3).Если я теперь переименую каталог в
My Boring App.app
, то Finder отобразит егоMy Boring App.app
так, как только, если (1) и (2) не совпадают по имени, отобразится (1), как будто пользователь хочет, чтобы его / ее приложение было переименовано, из Конечно, Finder должен отображать выбранное пользователем имя, имеет смысл, не так ли?Уже достаточно сложно? Ну, извини, но теперь все становится еще сложнее. Все значения в
Info.plist
, которые отображаются для пользователей, могут быть локализованы , поэтому, если ваша система настроена на американский английский, отображаемое имя пакета может бытьMy Cool App
, но если система установлена на британский английский, это может бытьMy Amazing App
. Если для текущего системного языка существует локализация, Finder отобразит эту локализацию, но снова, только если совпадают имена (1) и (2), в противном случае (1) снова победит.Локализация осуществляется путем размещения
.strings
файлов в пучках на подгруппы каталогов, которые названы<x>.lproj
, где<x>
только может быть код языка, напримерen.lproj
на английском языке,fr.lproj
на французском языке, и т.д. Но также может быть язык + страна, какen_US.lproj
,en_GB.lproj
,en_AU.lproj
и так далее. Внутри находится файл с именем,InfoPlist.strings
и этот файл может переопределять базовые значенияInfo.plist
файла. Если соответствующая локализация не найдена, используются значения из базовой локализации (называемой областью разработки ), которая также определяетсяInfo.plist
файлом. Если такая локализация не определена, значения изInfo.plist
используются напрямую.Прожектор ведет себя как Finder, если совпадение (1) и (2) в имени (3) отображается либо непосредственно, либо из соответствующей локализации. Если (3) не установлено, отображается (1). Но в отличие от Finder он не всегда добавляет
.app
расширение, даже если запрашивается в настройках Finder. Мне не удалось найти точную модель поведения, но определенная комбинация настроек не позволит Spotlight показывать расширение, независимо от того, что вы настроили. Для некоторых пользователей это фиксируется путем изменения настроек Finder , а затем работаетsudo mdutil -E /
вTerminal
(который снова индексах всего). Но это работает не для всех пользователей, которые могут иметь отношение к выбранному языку / региону.В основном это ошибка. Либо реиндексация исправляет это, либо это не может быть исправлено. И поведение Apple было изменено в какой-то версии macOS и после этого оставалось неизменным ... то есть до 10.13 High Sierra. Внезапно все мои приложения имеют
.app
расширение в Spotlight, которое соответствует моим настройкам Finder, тогда как в 10.12 Sierra ни одно приложение не имело расширения в Spotlight, несмотря на настройку Finder, если только я не переименовал его или если у меня не было нескольких копий, лежащих вокруг.источник
Похоже, это происходит, когда Spotlight индексирует приложения до того, как вступил в силу параметр скрытия расширений. Вы должны попробовать переиндексировать приложения, чтобы решить эту проблему.
Перейдите на вкладку «Конфиденциальность» в настройках Spotlight и добавьте каталог «Приложения» в исключенные местоположения. Это должно удалить все приложения из индекса Spotlight. Затем удалите его снова из исключенных местоположений, чтобы Spotlight переиндексировал приложения с правильными настройками. После переиндексации расширение «.app» должно быть удалено из всех результатов.
источник
Перейдите: Finder> Настройки> Дополнительно снимите флажок «Показать все расширения файлов»
Это решит проблему .app немедленно.
источник