Незважаючи на те, що я чітко встановив перевагу Finder, щоб відображати всі розширення файлів, я все-таки констатую, що деякі програми не показують розширення імені файлу в їхньому результаті Spotlight.

Ось кілька прикладів.
Я бігаю гірським левом.



Незважаючи на те, що я чітко встановив перевагу Finder, щоб відображати всі розширення файлів, я все-таки констатую, що деякі програми не показують розширення імені файлу в їхньому результаті Spotlight.

Ось кілька прикладів.
Я бігаю гірським левом.



Відповіді:
В основному, це виправлення помилок або помилок, введених у macOS 10.13 High Sierra: Spotlight тепер поважає налаштування Finder для показу розширень файлів. Якщо вимкнути цей параметр, вилучення .app розширюється із прожектора.
Я знаю, що це дуже давнє питання, але у мене просто було дежа-ву в 10.13 Високій Сьєррі; відрізняється від цього, але з деякою схожістю, тому я шукав його і натрапив на це питання, і ось моя відповідь:
Насправді програми відображаються так, ніби вони є одним файлом; Apple закликає цей пакет (незважаючи на те, що Finder назвав його " Package ", як у " Show Contents Package " у контекстному меню). Не тільки програми - це пакети, Apple використовує пакети також для фреймворків, плагінів, розширень додатків, служб XPI, певного типу пакетів інсталятора, а також формату зберігання даних, якщо збережені дані складаються з декількох файлів, але мають відображатися як один файл (наприклад, документ RTF із зображеннями може зберігатися у вигляді пакету RTFD). Пакети завжди мають справжнє ім'я, назву запису файлу на диску. Тож якщо більше нічого немає для відображення, macOS відображає цю назву скрізь.
Однак у пакетах всередині є інформаційний файл, названий Info.plist, який містить всі види метаданих про пакет. Одне, що такий інформаційний файл може визначити - це ім'я відображення . Якщо таке відображуване ім'я встановлено, Finder відображатиме відображуване ім'я, а не справжнє ім'я каталогу. Тобто, якщо каталог не перейменований, який Finder може виявити, якщо ім'я каталогу не відповідає імені пакета у Info.plistфайлі. Ну, зізнаюся, це трохи складно. Спробуємо це на прикладі:
My App.appInfo.plistІБMy AppInfo.plistISMy 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 повторно застосував програми з правильними налаштуваннями. Після повторного введення розширення ".app" слід видалити всі результати.
Це вирішить проблему .app негайно