Warum zeigen einige App-Spotlight-Ergebnisse die Erweiterung ".app", aber nicht alle?

11

Obwohl ich die Finder-Einstellung explizit so festgelegt habe, dass alle Dateierweiterungen angezeigt werden, stelle ich immer noch fest, dass einige Apps die Dateinamenerweiterung nicht in ihrem Spotlight-Ergebnis anzeigen.

Dateiname exts

Hier sind einige Beispiele.

Ich leite Mountain Lion.

Skype
Wort
Spatz
Anmerkungen

Rot und weiß
quelle
Könnten dies Anwendungen sein, die einen lokalisierten Bundle-Namen angeben? Damit der Bundle-Name im Gegensatz zum Dateinamen angezeigt wird?
Thilo
Diese Frage ist [dieser] [1] sehr ähnlich. [1]: apple.stackexchange.com/questions/33378/…
mcw

Antworten:

9

TL; DR

Grundsätzlich handelt es sich um einen Fehler oder eine Fehlerbehebung, die in macOS 10.13 High Sierra eingeführt wurde: Spotlight berücksichtigt jetzt die Finder-Einstellung, um Dateierweiterungen anzuzeigen. Durch Deaktivieren dieser Einstellung wird die Erweiterung .app aus Spotlight entfernt.

Antwort in voller Länge

Ich weiß, dass dies eine sehr alte Frage ist, aber ich hatte gerade ein Déjà-vu in 10.13 High Sierra; anders als dieses, aber mit einigen Ähnlichkeiten, also habe ich danach gesucht und bin auf diese Frage gestoßen, und hier ist meine Antwort:

Apps sind Verzeichnisse, die so angezeigt werden, als wären sie eine einzelne Datei. Apple nennt das ein Bundle (obwohl der Finder es " Paket " nennt, wie unter " Paketinhalt anzeigen " im Kontextmenü). Nicht nur Anwendungen sind Bundles, Apple verwendet Bundles auch für Frameworks, Plugins, Anwendungserweiterungen, XPI-Dienste, bestimmte Arten von Installationspaketen sowie das Datenspeicherformat, wenn gespeicherte Daten aus mehreren Dateien bestehen, aber nur als eine Datei angezeigt werden sollen (z Ein RTF-Dokument mit Bildern kann als RTFD-Paket gespeichert werden. Bundles haben immer einen echten Namen, den Namen des Dateieintrags auf der Festplatte. Wenn also nichts anderes angezeigt werden soll, zeigt macOS diesen Namen überall an.

In Bundles befindet sich jedoch eine Info-Datei mit dem Namen Info.plist, die alle Arten von Metadaten zum Bundle enthält. Eine solche Infodatei kann einen Anzeigenamen definieren . Wenn ein solcher Anzeigename festgelegt ist, zeigt der 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 mit einem Beispiel:

  1. Das Verzeichnis heißt My App.app
  2. Der Bundle-Name in Info.plististMy App
  3. Der Anzeigename des Bundles in Info.plistlautetMy Cool App

Mit dieser Kombination zeigt Finder die App als 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 umbenenne My Boring App.app, zeigt Finder es an, My Boring App.appsobald (1) und (2) im Namen nicht übereinstimmen, (1) angezeigt wird, als ob der Benutzer seine App umbenennen möchte, von Natürlich sollte der Finder den vom Benutzer gewählten Namen anzeigen, macht Sinn, nicht wahr?

Schon kompliziert genug? Nun, es tut mir leid, aber jetzt wird es noch komplizierter. Alle Werte in den Info.plist, die Benutzern angezeigt werden, können lokalisiert werden. Wenn Ihr System also auf US-Englisch eingestellt ist, lautet der Anzeigename des Bundles möglicherweise My Cool App, wenn das System jedoch auf UK-Englisch eingestellt ist, kann dies der Fall sein My Amazing App. Wenn für die aktuelle Systemsprache eine Lokalisierung vorhanden ist, zeigt der Finder diese Lokalisierung an, jedoch nur dann, wenn die Namen von (1) und (2) übereinstimmen, andernfalls gewinnt (1) erneut.

Localizing wird , indem getan .stringsDateien in Bündel in Unterverzeichnissen , die genannt werden <x>.lproj, in denen <x>nur ein Sprachcode sein kann, zB en.lprojfür Englisch, fr.lprojfür Französisch, etc. Aber in kann auch Sprache + Land, wie sein en_US.lproj, en_GB.lproj, en_AU.lproj, und so weiter. Darin befindet sich eine Datei mit dem Namen InfoPlist.stringsund diese Datei kann die Basiswerte der Info.plistDatei überschreiben . Wird keine übereinstimmende Lokalisierung gefunden, werden die Werte aus der Basislokalisierung verwendet (benannte Entwicklungsregion ), die auch von der Info.plistDatei definiert wird . Wenn keine solche Lokalisierung definiert ist, werden die Werte aus Info.plistdirekt verwendet.

Spotlight verhält sich wie Finder, wenn (1) und (2) übereinstimmende Namen (3) entweder direkt oder über die übereinstimmende Lokalisierung angezeigt werden. Wenn (3) nicht eingestellt ist, wird (1) angezeigt. Im Gegensatz zu Finder wird die .appErweiterung jedoch nicht immer hinzugefügt , selbst wenn dies 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 ist es durch Ändern der Einstellung Finder fixiert und dann läuft sudo mdutil -E /in Terminal(die Wieder Indizes alles). Es funktioniert jedoch nicht für alle Benutzer, was möglicherweise mit der ausgewählten Sprache / Region zu tun hat.

Im Grunde ist es ein Fehler. Durch erneutes Indizieren wird das Problem behoben 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 meiner Finder-Einstellung entspricht, während in 10.12 Sierra trotz der Finder-Einstellung keine App eine Erweiterung in Spotlight hatte, es sei denn, ich habe sie umbenannt oder ich hatte mehrere Kopien herumliegen.

Mecki
quelle
1
Ich habe das gleiche Problem seit dem Upgrade auf MacOS 10.13 (High Sierra). QA hat für eine Weile bei Apple ernsthaft gefehlt :(
Xavier
Ich habe eine Maschine, die ".app" anzeigt, und eine, die dies nicht tut. Diejenige, die dies tut, ist eine, die ich von einem Computer migriert habe, der migriert wurde. Derjenige, der nicht frisch abgewischt und neu installiert wurde.
Paul Tomblin
Was ist Ihre Quelle für den Satz "Für einige Benutzer ist er behoben ..."? Ansonsten eine tolle Antwort!
Erik
@Erik Ich habe im Apple Support-Forum gestöbert und dies war ein empfohlener Fix. Ein paar Benutzer antworteten "Ja, das hat es behoben" und ungefähr die gleiche Anzahl von Benutzern antwortete "Versuchte das, aber kein Unterschied". Für mich hat es nicht funktioniert, also 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 erneutes Indizieren behoben werden, aber die anderen Ursachen werden nicht auf diese Weise behoben - aber das ist nur Spekulation.
Mecki
2

Es scheint, dass dies passiert, wenn Spotlight die Apps indiziert, bevor die Einstellung zum Ausblenden von Erweiterungen wirksam wurde. 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.

Frédéric Dénommé
quelle
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.
Gerry
OH OK. Entschuldigung, ich bin nicht mit der Arbeitsweise dieser Seite vertraut.
Frédéric Dénommé
Kein Problem, willkommen auf der Seite.
Gerry
1
Dies scheint bei mir nicht zu funktionieren, wenn ich die Einstellung so ändere, dass Erweiterungen angezeigt und alle Anwendungen neu indiziert werden.
Gerry
0
  1. Gehen Sie zu: Finder> Einstellungen> Erweitert
  2. Deaktivieren Sie das Kontrollkästchen "Alle Dateierweiterungen anzeigen".

Das .app-Problem wird sofort behoben

Milos Dimic
quelle
Willkommen bei Ask Different. Wir bevorzugen, dass Antworten Informationen darüber liefern, warum sie funktionieren. Bitte sehen wie man Antwort für Tipps für gute Qualität Antworten zu geben. - Aus der Überprüfung.
Fsb