Pourquoi certains résultats de l'application mettent-ils en évidence l'extension «.app», mais pas tous?

11

Même si j'ai explicitement défini la préférence du Finder pour afficher toutes les extensions de fichier, je trouve toujours que certaines applications ne montrent pas l'extension de nom de fichier dans leur résultat Spotlight.

nom de fichier exts

Voici quelques exemples.

Je dirige Mountain Lion.

skype
mot
moineau
Remarques

Rouge et blanc
la source
Serait-ce des applications qui spécifient un nom de bundle localisé? Pour que le nom du bundle s'affiche, par opposition au nom de fichier?
Thilo
Cette question est très similaire à [celle-ci] [1]. [1]: apple.stackexchange.com/questions/33378/…
mcw

Réponses:

9

TL; DR

Fondamentalement, il s'agit d'un bogue ou d'une correction de bogue introduit dans macOS 10.13 High Sierra: Spotlight respecte désormais le paramètre du Finder pour afficher les extensions de fichier. La désactivation de ce paramètre supprime l'extension .app de Spotlight.

Réponse complète

Je sais que c'est une très vieille question, mais je viens d'avoir un déjà-vu dans 10.13 High Sierra; différent de celui-ci mais avec quelques similitudes, donc je l'ai cherché et suis tombé sur cette question et voici ma réponse:

Les applications sont en fait des répertoires affichés comme s'il s'agissait d'un seul fichier; Apple appelle cela un bundle (malgré que le Finder le nomme " Package " comme dans " Afficher le contenu du package " dans le menu contextuel). Les applications ne sont pas uniquement des bundles, Apple utilise également des bundles pour les frameworks, plugins, extensions d'application, services XPI, certains types de packages d'installation, ainsi que le format de stockage des données si les données stockées sont constituées de plusieurs fichiers mais doivent apparaître comme un seul fichier (par exemple un document RTF avec des images peut être stocké sous forme de bundle RTFD). Les bundles ont toujours un vrai nom, le nom de l'entrée de fichier sur le disque. Donc, s'il n'y a rien d'autre à afficher, macOS affiche ce nom partout.

Cependant, les bundles ont un fichier d'informations à l'intérieur, nommé Info.plist, qui contient toutes sortes de métadonnées sur le bundle. Une chose qu'un tel fichier d'informations peut définir est un nom d'affichage . Si un tel nom d'affichage est défini, le Finder affichera le nom d'affichage et non le vrai nom du répertoire. Autrement dit, sauf si le répertoire a été renommé, ce que le Finder peut détecter si le nom du répertoire ne correspond pas au nom de l' ensemble dans le Info.plistfichier. Bon, j'avoue, c'est un peu compliqué. Essayons-le avec un exemple:

  1. Le répertoire est nommé My App.app
  2. Le nom de l' ensemble en Info.plistest -My App
  3. Le nom d'affichage du faisceau en Info.plistest -My Cool App

Avec cette combinaison, le Finder affichera l'application en tant que My Cool App.app(ou juste My Cool Appsi les extensions sont masquées). Tant que (1) et (2) correspondent au nom, (3) s'affiche.

Si je renomme maintenant le répertoire My Boring App.app, alors le Finder l'affichera comme My Boring App.appsi dès que (1) et (2) ne correspondent pas au nom, (1) s'affiche, comme si l'utilisateur veut renommer son application, de Bien sûr, le Finder devrait afficher le nom choisi par l'utilisateur, est logique, n'est-ce pas?

Déjà assez compliqué? Eh bien, je suis désolé, mais ça devient encore plus compliqué maintenant. Toutes les valeurs Info.plistaffichées dans les utilisateurs peuvent être localisées , donc si votre système est défini sur l'anglais américain, le nom d'affichage du bundle peut être My Cool App, mais si le système est défini sur l'anglais britannique, il peut l'être My Amazing App. S'il existe une localisation pour la langue système actuelle, le Finder affichera cette localisation, mais encore une fois, uniquement si les noms de (1) et (2) correspondent, sinon (1) gagnera à nouveau.

Localisant se fait en plaçant des .stringsfichiers en paquets dans les sous-répertoires qui sont nommés <x>.lproj, où <x>peut juste être un code de langue, par exemple en.lprojpour l' anglais, fr.lprojpour le français, etc. Mais peut aussi être la langue + pays, comme en_US.lproj, en_GB.lproj, en_AU.lprojet ainsi de suite. À l'intérieur se trouve un fichier nommé InfoPlist.stringset ce fichier peut remplacer les valeurs de base du Info.plistfichier. Si aucune localisation correspondante n'est trouvée, les valeurs de la localisation de base sont utilisées ( région de développement nommée ) qui est également définie par le Info.plistfichier. Si aucune localisation de ce type n'est définie, les valeurs de la Info.plistsont directement utilisées.

Spotlight se comporte comme le Finder, si (1) et (2) correspondent dans le nom (3) est affiché, soit directement, soit à partir de la localisation correspondante. Si (3) n'est pas défini, (1) s'affiche. Mais contrairement au Finder, il n'ajoute pas toujours l' .appextension, même si cela est demandé dans les préférences du Finder. Je n'ai jamais pu trouver le modèle de comportement exact, mais une certaine combinaison de configuration empêchera Spotlight d'afficher l'extension, indépendamment de ce que vous avez configuré. Pour certains utilisateurs , il est fixé en changeant le paramètre Finder et en cours d' exécution puis sudo mdutil -E /dans Terminal(où tout réindexe). Mais cela ne fonctionne pas pour tous les utilisateurs, ce qui peut avoir quelque chose à voir avec la langue / région choisie.

Fondamentalement, c'est un bug. Soit la réindexation le corrige, soit elle ne peut pas être corrigée. Et le comportement a été modifié par Apple lors de certaines versions de macOS et est resté constant par la suite ... c'est-à-dire jusqu'à 10.13 High Sierra. Tout d'un coup, toutes mes applications ont une .appextension dans Spotlight, qui correspond à mon paramètre Finder, alors que dans 10.12 Sierra aucune application n'avait une extension dans Spotlight, malgré le paramètre Finder, à moins que je ne l'ait renommé ou que j'aie plusieurs copies de traîner.

Mecki
la source
1
J'ai le même problème depuis la mise à niveau vers macos 10.13 (High Sierra). QA fait sérieusement défaut depuis un certain temps chez Apple :(
Xavier
J'ai une machine qui affiche ".app" et une autre qui n'en affiche pas. Celui qui le fait est celui que j'ai migré à partir d'une machine qui avait été migrée. Celui qui n'a pas été fraîchement essuyé et réinstallé.
Paul Tomblin
Quelle est votre source pour la phrase «Pour certains utilisateurs, c'est corrigé ...»? Sinon, une excellente réponse!
Erik
@Erik Je parcourais le forum de support Apple et il s'agissait d'un correctif suggéré. Quelques utilisateurs ont répondu "Oui, cela a corrigé" et environ le même nombre d'utilisateurs ont répondu "J'ai essayé, mais aucune différence". Pour moi, cela n'a pas fonctionné, donc j'appartiens à la dernière catégorie. Je suppose qu'il existe plusieurs causes qui mènent au même problème et que certaines d'entre elles peuvent être corrigées par réindexation, mais les autres causes ne seront pas corrigées de cette façon - mais ce ne sont que des spéculations.
Mecki
2

Il semble que cela se produit lorsque Spotlight indexe les applications avant que le paramètre de masquage des extensions ne soit en vigueur. Vous devez essayer de réindexer les applications pour résoudre ce problème.

Accédez à l'onglet Confidentialité dans les préférences de Spotlight et ajoutez le répertoire Applications aux emplacements exclus. Cela devrait supprimer toutes les applications de l'index Spotlight. Ensuite, supprimez-le à nouveau des emplacements exclus afin que Spotlight réindexe les applications avec les paramètres appropriés. Après avoir réindexé, l'extension ".app" doit être supprimée de tous les résultats.

Frédéric Dénommé
la source
Je vous dévalisais parce que votre réponse était pure spéculation à ce moment-là, ce qui est mieux adapté pour un commentaire qu'une réponse.
Gerry
AH D'ACCORD. Désolé, je ne connais pas le fonctionnement de ce site ..
Frédéric Dénommé
Pas de problème, bienvenue sur le site.
Gerry
1
Cela ne semble pas fonctionner pour moi lorsque je modifie le paramètre pour afficher les extensions et réindexer toutes les applications.
Gerry
0
  1. Accédez à: Finder> Préférences> Avancé
  2. décochez la case "Afficher toutes les extensions de fichier"

Il résoudra le problème .app immédiatement

Milos Dimic
la source
Bienvenue sur Ask Different. Nous préférons que les réponses fournissent des informations sur les raisons pour lesquelles elles fonctionneront. Veuillez consulter Comment répondre pour obtenir des conseils sur la manière de fournir des réponses de bonne qualité. - De l'avis.
fsb