Voici une bonne question:
Nom du bundle, nom de l'exécutable, nom du produit ... autre chose?
mais je m'interroge juste sur la différence entre "nom d'affichage du bundle" et "nom du bundle" dans la liste d'informations de l'application Cocoa.
Voici une bonne question:
Nom du bundle, nom de l'exécutable, nom du produit ... autre chose?
mais je m'interroge juste sur la différence entre "nom d'affichage du bundle" et "nom du bundle" dans la liste d'informations de l'application Cocoa.
Réponses:
Je ne pense pas qu'aucune des autres réponses ne réponde de manière concise à la question.
CFBundleDisplayName
- affiché: sous l'icône . Selon la documentation, 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 le dire)
CFBundleName
- affiché: je n'ai aucune idée . Les documents suggèrent qu'il sera utilisé dans des listes donc recommandées au maximum 16 caractères, mais par exemple, la liste Paramètres → Général → Utilisation 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 les autres systèmes d'exploitation.
merci pour la réponse de Wevah. voici les descriptions des personnes qui ont confondu ces deux constantes.
CFBundleDisplayName
(String - iOS, Mac OS X) spécifie le nom d'affichage du bundle. Si vous prenez en charge les noms localisés pour votre bundle, incluez cette clé à la fois dans votre fichier de liste de propriétés d'informations 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 bundle, n'incluez pas cette clé dans votre fichier Info.plist. L'inclusion de cette clé n'affecte pas l'affichage du nom du bundle, mais entraîne une baisse des performances pour rechercher des versions localisées de cette clé.
Avant d'afficher un nom localisé pour votre bundle, le Finder compare la valeur de cette clé au nom réel de votre bundle 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 bundle. 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, consultez Présentation du système de fichiers.
CFBundleName
(Chaîne - iOS, Mac OS X) identifie le nom court du bundle. Ce nom doit comporter moins de 16 caractères et pouvoir être affiché dans la barre de menus et la fenêtre Info de l'application. Vous pouvez inclure cette clé dans le fichier InfoPlist.strings d'un sous-répertoire .lproj approprié pour lui fournir des valeurs localisées. Si vous localisez cette clé, vous devez également inclure la cléCFBundleDisplayName.
Selon Apple,
Le nom de l'application affiché
on the iPhone home screen
provient de l'entrée CFBundleDisplayName (ou "Nom d'affichage du bundle" en tant que chaîne lisible par l'homme dans Xcode) de l'Info.plist de votre application iOS.De même, le nom de l'application que vous voyez dans votre
WatchKit app's launch screen
etnotifications
provient du CFBundleDisplayName de l'Info.plist de votre application WatchKit.
The Apple Watch app on the iPhone
utilise actuellement le nom du bundle (et non le nom d'affichage du bundle) de votre application iOS, qui est spécifié par l'entrée CFBundleName (ou "Bundle name") de son Info.plist
Vous pouvez voir d'autres captures d'écran associées et accéder à plus d'informations sur la page des développeurs Apple en cliquant ici .
Selon mon expérience:
Uniquement si le nom d'affichage du bundle ( CFBundleDisplayName
) n'est pas spécifié, la valeur du nom du bundle ( CFBundleName
) sera utilisée pour s'afficher sous l'icône de l'application.
Veuillez noter qu'il CFBundleDisplayName
est localisable et qu'il doit être utilisé pour définir le nom de l'application affiché dans le menu iOS Springboard et 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}
.