2010-08-09 23 views
66

Nombre del paquete, nombre del archivo ejecutable, nombre del producto ... ¿más?Nombre del paquete, nombre del archivo ejecutable, nombre del producto ... ¿algo más?

¿alguien puede ayudar a aclarar el uso de cada uno de estos en Xcode en un proyecto de iPhone? Nunca dejan de confundir a los bajezus vivientes ... y estoy cansado de equivocarlos.

Alguien por favor explique ... ¿por qué diablos necesitamos tantos esquemas de nombres diferentes para un entorno de aplicación? y para qué uso cada uno de estos para poder colocarlos en el agujero cubby derecho en mi cabeza?

+0

Creo que podríamos ayudarlo mejor si tuviéramos un problema específico con el que se encontró. –

Respuesta

40

Si nos fijamos en un info.plist, que es algo como esto:

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

para que pueda ver, que normalmente PRODUCT_NAME le da el mismo nombre para el lote y lo que el usuario ve.

En algunos casos es posible que desee un nombre de visualización más complejo que no sea adecuado para nombrar cosas como paquetes o ejecutables, por lo que puede cambiarlos de forma independiente, pero no es necesario. El valor predeterminado es que PRODUCT_NAME tenga el mismo nombre que el nombre del proyecto, pero también puede anularlo en la configuración de compilación.

No debe cambiar la forma en que están configurados en info.plist, a menos que tenga una muy buena razón ... simplemente cambie PRODUCT_NAME.

+0

¡Bien! Finalmente algo de claridad. Así que mi mensaje final a la memoria es solo para recordar ... solo cambie PRODUCT_NAME (y lo mejor es hacerlo en la ventana de información de destino, supongo). Gracias! – tbarbe

+0

¿Hay alguna otra bandera aparte de estas tres que pueda ser útil? – thesummersign

+0

Hay un montón de configuraciones potencialmente útiles que puede habilitar en el plist, realmente debe buscar una lista completa para ver qué es posible. –

0

Cuando tiene una aplicación con interfaz de usuario (por ejemplo: Calculadora), la mayoría de las anteriores será la misma y no importa mucho, pero si la salida del proyecto es solo un paquete (un motor), puede tener diferentes ejecutables (aplicaciones/frontend con UI que usa tu paquete como back-end) de tu paquete que puedes especificar usando diferentes nombres ejecutables. E idealmente, como dijo Kendall, el nombre del paquete será el mismo que el nombre del producto. Consulte la Guía del sistema Xcode Build para una mejor comprensión. Espero que esto ayude. :-).

34

Nombre del paquete - es el nombre de la carpeta, donde se almacenará su aplicación (incluido el archivo ejecutable y todos los recursos) (Cool Program.app).

Ejecutable nombre - es un nombre de programa binario, es decir Program.app/CoolProgram fresca

Bundle nombre para mostrar - es lo que se mostrará en la pantalla del iPhone, por ejemplo Enfriar Prog (ya que probablemente Programa fresca no cabe en Springboard).

Y, Apple afirma, que el nombre del paquete de visualización debe corresponder a Nombre del paquete, es decir, no puede utilizar el nombre paquete laaplicación, y el paquete nombre para mostrar Algo Otros

+4

Al menos tenemos algunas aplicaciones rechazadas por esa razón, hace 2 años. Tal vez ahora ha cambiado, o los revisores de la aplicación no están tan enojados :) –

+3

El nombre para mostrar del paquete puede ser diferente al nombre del paquete ahora, mi aplicación no es rechazada por este motivo. – RRN

-2

De acuerdo con documentos de Apple.com, es exactamente lo contrario de lo usted esperaría

El "Nombre para mostrar" es ACTUAL nombre del paquete.

Pero el "Nombre del paquete" es solo el nombre corto "PANTALLA".

corte real/pasta de Apple.com:

CFBundleName (recomendado, localizable) El nombre real del paquete.

CFBundleDisplayName (Recomendado, Localizable) El nombre de visualización breve del paquete.

Ugh.

+4

El "nombre para mostrar del paquete" es el nombre corto. –

0

También hay $ {TARGET_NAME}; por ejemplo, si tiene un proyecto que crea varios destinos con diferentes 'Nombre de visualización del paquete'.

Cuestiones relacionadas