4 votes

Par quel mécanisme le finder insère-t-il un espace dans le nom d'une application ?

Je recherchais un problème avec le centre de notification et j'ai remarqué que le Finder affiche le programme en tant que Centre de notification Pourtant, sur le disque et dans les reçus des paquets et les supports d'installation, le fichier est en fait NotificationCenter.app. (Et le chemin complet est /System/Library/CoreServices/NotificationCenter.app)

Notification Center - with and without a space

Je comprends que le Finder supprime l'extension .app par défaut, mais où le système sait-il qu'il faut ajouter l'espace dans le nom de cette application ?

8voto

Ido Schacham Points 1373

C'est géré par la localisation.

Si vous vérifiez le fichier Info.plist, il y a une clé LSHasLocalizedDisplayName avec une valeur de true. Cela signifie qu'il existe des noms localisés pour l'application. Les localisations sont stockées dans le paquet d'applications dans Contents/Resources. Comme j'utilise l'anglais, je peux regarder dans /System/Library/CoreServices/NotificationCenter.app/Contents/Resources/en.lproj/InfoPlist.strings, et voir le nom de l'application avec un espace.

Les fichiers Strings sont en fait des plists binaires. Vous pouvez les visualiser de manière lisible par l'homme avec

$ plutil -p /System/Library/CoreServices/NotificationCenter.app/Contents/Resources/en.lproj/InfoPlist.strings
{
  "CFBundleDisplayName" => "Notification Center"
  "CFBundleName" => "Notification Center"
}

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X