web-dev-qa-db-fra.com

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

Nom du paquet, nom de l'exécutable, nom du produit ... pas plus ??

quelqu'un peut-il aider à clarifier l'utilisation de chacun de ces éléments dans Xcode sur un projet iPhone? Ils ne manquent jamais de confondre les bajezus vivants hors de moi ... et je suis fatigué de les avoir tort.

Quelqu'un s'il vous plaît expliquer ... pourquoi diable avons-nous besoin de autant de systèmes de nommage différents pour un environnement d'application? et à quoi est-ce que j'utilise chacun de ceux-ci pour pouvoir les coller dans le bon trou dans ma tête?

68
tbarbe

Si vous regardez un info.plist, cela ressemble à ceci:

Bundle Display Name - ${PRODUCT_NAME}
Executable File - ${EXECUTABLE_NAME}
Bundle Name - ${PRODUCT_NAME}

Comme vous pouvez le constater, PRODUCT_NAME vous donne normalement le même nom pour l’ensemble et ce que l’utilisateur voit.

Dans certains cas, vous souhaiterez peut-être un nom d'affichage plus complexe qui ne conviendrait pas pour nommer des éléments tels que des ensembles ou des exécutables. C'est pourquoi vous pouvez les modifier indépendamment - mais ce n'est pas obligatoire. La valeur par défaut est que PRODUCT_NAME porte le même nom que le nom du projet, mais vous pouvez également le remplacer dans les paramètres de construction.

Vous ne devriez pas changer la façon dont ils sont configurés dans info.plist, sauf si vous avez une très bonne raison ... changez simplement PRODUCT_NAME.

Nom du paquet - est le nom du dossier dans lequel votre application (y compris le fichier exécutable et toutes les ressources) sera stockée (Cool Program.app).

Nom de l'exécutable - est un nom binaire du programme, c'est-à-dire Cool Program.app/CoolProgram

Le nom d'affichage de l'ensemble - est ce qui sera affiché sur l'écran de l'iPhone, par exemple Cool Prog (étant donné que Cool Program ne tiendra probablement pas sur Springboard).

Et, selon Apple, le nom d'affichage de l'ensemble doit correspondre à celui de l'ensemble, c'est-à-dire que vous ne pouvez pas utiliser le nom de l'ensemble TheApplication et le nom d'affichage de l'ensemble

37
Nickolay Olshevsky

Il y a aussi $ {TARGET_NAME} - par exemple, si vous avez un projet qui crée plusieurs cibles avec différents 'Nom d'affichage du paquet.

0
robm

Lorsque vous avez une application avec une interface utilisateur (par exemple, une calculatrice), la plupart des opérations ci-dessus sont identiques et importent peu, mais si la sortie de votre projet est simplement un ensemble (un moteur), vous pouvez avoir différents exécutables (applications/frontend avec Interface utilisateur qui utilise votre paquet en tant que serveur) que vous pouvez spécifier en utilisant un nom d’exécutable différent. Et idéalement, comme le dit Kendall, le nom du paquet sera le même que le nom du produit. Reportez-vous au Guide du système de construction Xcode pour une meilleure compréhension. J'espère que cela t'aides. :-) 

0
Kiran Balegar