Obwohl ich die Finder-Einstellung ausdrücklich so eingestellt habe, dass alle Dateierweiterungen angezeigt werden, stelle ich immer noch fest, dass einige Apps die Dateinamenerweiterung nicht in ihrem Spotlight-Ergebnis anzeigen.
Hier sind einige Beispiele.
Ich leite Mountain Lion.
Im Grunde handelt es sich um einen Bug oder Bugfix, der in macOS 10.13 High Sierra eingeführt wurde: Spotlight respektiert nun die Finder-Einstellung, um Dateierweiterungen anzuzeigen. Durch Deaktivieren dieser Einstellung wird die .app-Erweiterung aus Spotlight entfernt.
Ich weiß, das ist eine sehr alte Frage, aber ich hatte gerade ein Déjà-vu in 10.13 High Sierra; anders als dieser, aber mit einigen Ähnlichkeiten, also habe ich danach gesucht und bin auf diese Frage gestoßen, und hier ist meine Antwort:
Apps sind in der Tat Verzeichnisse, die so angezeigt werden, als wären sie eine einzelne Datei; Apple nennt das ein Bündel (obwohl der Finder es „ Paket “ wie in „ Paketinhalt anzeigen “ im Kontextmenü nennt). Nicht nur Anwendungen sind Bundles, Apple verwendet Bundles auch für Frameworks, Plugins, Anwendungserweiterungen, XPI-Dienste, bestimmte Arten von Installationspaketen sowie Datenspeicherformate, wenn gespeicherte Daten aus mehreren Dateien bestehen, aber als nur eine Datei erscheinen sollen (z ein RTF-Dokument mit Bildern kann als RTFD-Bundle gespeichert werden). Bundles haben immer einen richtigen Namen, den Namen des Dateieintrags auf der Festplatte. Wenn also nichts anderes anzuzeigen ist, zeigt macOS diesen Namen überall an.
Bundles enthalten jedoch eine Infodatei mit dem Namen Info.plist
, die alle Arten von Metadaten über das Bundle enthält. Eine Sache, die eine solche Infodatei definieren kann, ist ein Anzeigename . Wenn ein solcher Anzeigename festgelegt ist, zeigt Finder den Anzeigenamen und nicht den tatsächlichen Namen des Verzeichnisses an. Das heißt, es sei denn, das Verzeichnis wurde umbenannt, was der Finder erkennen kann, wenn der Verzeichnisname nicht mit dem Bundle-Namen in der Info.plist
Datei übereinstimmt. Nun, ich gebe zu, es ist ein bisschen kompliziert. Versuchen wir es mal an einem Beispiel:
My App.app
Info.plist
lautetMy App
Info.plist
lautetMy Cool App
Mit dieser Kombination zeigt der Finder die App als an My Cool App.app
(oder nur My Cool App
wenn Erweiterungen ausgeblendet sind). Solange (1) und (2) im Namen übereinstimmen, wird (3) angezeigt.
Wenn ich das Verzeichnis jetzt in umbenennen My Boring App.app
, zeigt der Finder es als My Boring App.app
an, sobald (1) und (2) nicht im Namen übereinstimmen, wird (1) angezeigt, als ob der Benutzer möchte, dass seine App umbenannt wird Natürlich sollte der Finder den vom Benutzer gewählten Namen anzeigen, macht Sinn, oder?
Schon kompliziert genug? Tut mir leid, aber jetzt wird es noch komplizierter. Alle Werte in Info.plist
, die den Benutzern angezeigt werden, können lokalisiert werden. Wenn Ihr System also auf US-Englisch eingestellt ist, kann der Bundle-Anzeigename lauten My Cool App
, aber wenn das System auf UK-Englisch eingestellt ist, kann er lauten My Amazing App
. Wenn eine Lokalisierung für die aktuelle Systemsprache vorhanden ist, zeigt der Finder diese Lokalisierung an, aber wiederum nur, wenn die Namen von (1) und (2) übereinstimmen, andernfalls gewinnt (1) erneut.
Die Lokalisierung erfolgt durch das Platzieren von .strings
Dateien in Bündeln in Unterverzeichnissen mit dem Namen <x>.lproj
, wobei <x>
es sich nur um einen Sprachcode handeln kann, z. B. en.lproj
für Englisch, fr.lproj
für Französisch usw. Aber in kann auch Sprache + Land sein, wie en_US.lproj
, en_GB.lproj
, en_AU.lproj
, und so weiter. Darin befindet sich eine Datei namens InfoPlist.strings
und diese Datei kann die Basiswerte der Info.plist
Datei überschreiben. Wenn keine passende Lokalisierung gefunden wird, werden die Werte aus der Basislokalisierung verwendet (mit dem Namen Entwicklungsregion ), die ebenfalls durch die Info.plist
Datei definiert ist. Wenn keine solche Lokalisierung definiert ist, Info.plist
werden direkt die Werte aus verwendet.
Spotlight verhält sich wie Finder, wenn (1) und (2) im Namen übereinstimmen (3) angezeigt wird, entweder direkt oder von der passenden Lokalisierung. Wenn (3) nicht gesetzt ist, wird (1) angezeigt. Aber im Gegensatz zu Finder fügt es die Erweiterung nicht immer hinzu .app
, selbst wenn es in den Finder-Einstellungen angefordert wird. Ich konnte nie das genaue Verhaltensmuster finden, aber eine bestimmte Kombination von Einstellungen verhindert, dass Spotlight die Erweiterung anzeigt, unabhängig davon, was Sie konfiguriert haben. Für einige Benutzer wird es behoben, indem die Finder-Einstellung geändert und dann ausgeführt wird sudo mdutil -E /
( Terminal
was alles neu indiziert). Aber es funktioniert nicht für alle Benutzer, was möglicherweise mit der gewählten Sprache/Region zu tun hat.
Im Grunde ist es ein Bug. Entweder eine Neuindizierung behebt es oder es kann nicht behoben werden. Und das Verhalten wurde von Apple bei einigen macOS-Versionen geändert und blieb danach konstant ... das heißt, bis 10.13 High Sierra. Plötzlich haben alle meine Apps eine .app
Erweiterung in Spotlight, die zu meiner Finder-Einstellung passt, während in 10.12 Sierra keine App eine Erweiterung in Spotlight hatte, trotz der Finder-Einstellung, es sei denn, ich habe sie umbenannt oder ich hatte mehrere Kopien davon herumliegen.
Es scheint, dass dies passiert, wenn Spotlight die Apps indiziert, bevor die Einstellung zum Ausblenden von Erweiterungen wirksam war. Sie sollten versuchen, Anwendungen neu zu indizieren, um dieses Problem zu beheben.
Wechseln Sie in den Spotlight-Einstellungen zur Registerkarte „Datenschutz“ und fügen Sie das Anwendungsverzeichnis zu den ausgeschlossenen Speicherorten hinzu. Dadurch sollten alle Anwendungen aus dem Spotlight-Index entfernt werden. Entfernen Sie es dann erneut von den ausgeschlossenen Speicherorten, damit Spotlight Anwendungen mit den richtigen Einstellungen neu indiziert. Nach der Neuindizierung sollte die Erweiterung ".app" aus allen Ergebnissen entfernt werden.
Es wird das .app-Problem sofort lösen
Thilo
Mcw