web-dev-qa-db-fra.com

Quelle est la différence entre "nom d'affichage du paquet" et "nom du paquet" dans le pli info de l'application cacao

Voici une bonne question:

Nom du paquet, Nom de l'exécutable, Nom du produit ... Autre chose?

mais je m'interroge simplement sur la différence entre "nom d'affichage du paquet" et "nom du paquet" dans la liste d'informations de l'application cacao.

115
xhan

Je pense qu'aucune des autres réponses ne répond de manière concise à la question.

  • CFBundleDisplayName - affiché: sous l'icône. Selon les docs, devrait être localisé, mais seulement si l'application elle-même est localisée, sinon il y aura une sorte de pénalité (si cela est vrai en réalité, je ne peux pas dire)

  • CFBundleName - affiché: je n'en ai aucune idée. Les documents suggèrent qu'il sera utilisé dans les listes, donc nous recommandons un maximum de 16 caractères, mais par exemple, la liste Paramètres → Général → Usage des applications utilise CFBundleDisplayName vraiment. À ce jour, je n'ai jamais compris où exactement celui-ci est utilisé.

Oh, c'est pour les applications iOS, je ne peux pas parler pour d'autres systèmes d'exploitation.

96
Jonny

merci pour la réponse de Wevah. voici les descriptions pour les personnes qui ont confondu avec ces deux constantes.

CFBundleDisplayName

CFBundleDisplayName (String - iOS, Mac OS X) spécifie le nom d'affichage de l'ensemble. Si vous prenez en charge les noms localisés pour votre ensemble, incluez cette clé à la fois dans votre fichier de liste de propriétés d'information et dans les fichiers InfoPlist.strings de vos sous-répertoires de langue. Si vous localisez cette clé, vous devez également inclure une version localisée de la clé CFBundleName.

Si vous n'avez pas l'intention de localiser votre ensemble, n'incluez pas cette clé dans votre fichier Info.plist. L'inclusion de cette clé n'affecte pas l'affichage du nom de l'ensemble, mais entraîne une pénalité de performances pour la recherche de versions localisées de cette clé.

Avant d'afficher un nom localisé pour votre ensemble, le Finder compare la valeur de cette clé au nom réel de votre ensemble dans le système de fichiers. Si les deux noms correspondent, le Finder affiche le nom localisé à partir du fichier InfoPlist.strings approprié de votre groupe. Si les noms ne correspondent pas, le Finder affiche le nom du système de fichiers.

Pour plus d'informations sur les noms d'affichage sous Mac OS X, voir Vue d'ensemble du système de fichiers.


CFBundleName

CFBundleName (String - iOS, Mac OS X) identifie le nom abrégé de l'ensemble. Ce nom doit comporter moins de 16 caractères et pouvoir être affiché dans la barre de menus et la fenêtre d’information de l’application. Vous pouvez inclure cette clé dans le fichier InfoPlist.strings d'un sous-répertoire .lproj approprié pour fournir des valeurs localisées à cet effet. Si vous localisez cette clé, vous devez également inclure la clé CFBundleDisplayName.

85
xhan

a busy cat

Selon Apple,

Nom d'affichage du paquet:

Le nom de l'application affiché on the iPhone home screen provient de l’entrée CFBundleDisplayName (ou "Nom complet de l’ensemble" en tant que chaîne lisible par l'homme dans Xcode) de Info.plist de votre application iOS.

De même, le nom de l'application que vous voyez dans votre WatchKit app's launch screen et notifications proviennent du CFBundleDisplayName de l’Info.plist de votre application WatchKit

Nom du paquet:

The Apple Watch app on the iPhone utilise actuellement le nom de l'ensemble (et non le nom d'affichage de l'ensemble) de votre application iOS, spécifié par l'entrée CFBundleName (ou "nom de l'ensemble") de son Info.plist.

Vous pouvez voir d'autres captures d'écran connexes et accéder à plus d'informations à l'adresse Apple d'ici en cliquant ici .

26
Safa

Selon mon expérience:

  • CFBundleDisplayName est utilisé dans la grille des applications sur les appareils iOS.
  • CFBundleName est utilisé dans la liste des applications stockées dans la bibliothèque iTunes
14
wojked

Seulement si le nom d'affichage du paquet (CFBundleDisplayName) n'est pas spécifié, la valeur du nom du paquet (CFBundleName) sera utilisée pour s'afficher sous l'icône de l'application.

Veuillez noter que CFBundleDisplayName est localisable et doit être utilisé pour définir le nom de l'application affichée dans le menu Springboard iOS et dans les applications Mac OS X/Mission Control.

En bref, ne touchez pas CFBundleName et laissez sa valeur par défaut, c'est-à-dire ${PRODUCT_NAME}.

9
Raptor