Warum wird in einigen App-Spotlight-Ergebnissen die Erweiterung „.app“ angezeigt, aber nicht in allen?

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.

Dateinamenerweiterungen

Hier sind einige Beispiele.

Ich leite Mountain Lion.

skypen
Wort
Spatz
Anmerkungen

Könnten dies Anwendungen sein, die einen lokalisierten Bundle-Namen angeben? Damit der Bündelname im Gegensatz zum Dateinamen angezeigt wird?
Diese Frage ist [dieser] [1] sehr ähnlich. [1]: apple.stackexchange.com/questions/33378/…

Antworten (3)

TL;DR

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.

Antwort in voller Länge

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.plistDatei übereinstimmt. Nun, ich gebe zu, es ist ein bisschen kompliziert. Versuchen wir es mal an einem Beispiel:

  1. Das Verzeichnis wird benanntMy App.app
  2. Der Bündelname in Info.plistlautetMy App
  3. Der Bundle-Anzeigename in Info.plistlautetMy Cool App

Mit dieser Kombination zeigt der Finder die App als an My Cool App.app(oder nur My Cool Appwenn 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.appan, 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 .stringsDateien in Bündeln in Unterverzeichnissen mit dem Namen <x>.lproj, wobei <x>es sich nur um einen Sprachcode handeln kann, z. B. en.lprojfür Englisch, fr.lprojfü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.stringsund diese Datei kann die Basiswerte der Info.plistDatei überschreiben. Wenn keine passende Lokalisierung gefunden wird, werden die Werte aus der Basislokalisierung verwendet (mit dem Namen Entwicklungsregion ), die ebenfalls durch die Info.plistDatei definiert ist. Wenn keine solche Lokalisierung definiert ist, Info.plistwerden 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 /( Terminalwas 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 .appErweiterung 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.

Ich habe das gleiche Problem seit dem Upgrade auf Macos 10.13 (High Sierra). QA hat bei Apple schon seit einiger Zeit ernsthaft gefehlt :(
Ich habe eine Maschine, die ".app" anzeigt, und eine, die dies nicht tut. Derjenige, der dies tut, ist einer, den ich von einer migrierten Maschine migriert habe. Der, der das nicht tut, wurde frisch gelöscht und neu installiert.
Was ist Ihre Quelle für den Satz "Für einige Benutzer ist es behoben ..."? Ansonsten super Antwort!
@Erik Ich habe im Apple-Support-Forum gestöbert und dies war ein Lösungsvorschlag. Ein paar Benutzer antworteten "Ja, das hat es behoben" und ungefähr die gleiche Anzahl von Benutzern antwortete "Das habe ich versucht, aber kein Unterschied". Bei mir hat es nicht funktioniert, daher gehöre ich zur letzten Kategorie. Ich gehe davon aus, dass es mehrere Ursachen gibt, die zu demselben Problem führen, und eine davon kann durch Neuindizierung behoben werden, aber die anderen Ursachen werden auf diese Weise nicht behoben - aber das ist nur Spekulation.

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.

Ich habe Sie abgelehnt, weil Ihre Antwort zu diesem Zeitpunkt reine Spekulation war, die besser für einen Kommentar als für eine Antwort geeignet ist.
OH OK. Tut mir leid, ich bin mit der Funktionsweise dieser Seite nicht vertraut.
Kein Problem, willkommen auf der Seite.
Dies scheint bei mir nicht zu funktionieren, wenn ich die Einstellung ändere, um Erweiterungen anzuzeigen und alle Anwendungen neu zu indizieren.
  1. Gehen Sie zu: Finder > Einstellungen > Erweitert
  2. Deaktivieren Sie "Alle Dateierweiterungen anzeigen"

Es wird das .app-Problem sofort lösen

Willkommen bei Ask Different. Wir ziehen es vor, dass Antworten Informationen darüber enthalten, warum sie funktionieren. Unter How to Answer finden Sie Tipps zum Bereitstellen qualitativ hochwertiger Antworten. - Aus Bewertung.