¿Cuál es la diferencia entre "nombre para mostrar paquete" y "nombre de paquete" en la lista de información de la aplicación de cacao

Respuestas:

102

No creo que ninguna de las otras respuestas responda de manera concisa a la pregunta.

  • CFBundleDisplayName- mostrado: debajo del icono . Según los documentos, debe estar localizado, pero solo si la aplicación en sí está localizada, de lo contrario habrá algún tipo de penalización (si esto es cierto en realidad, no puedo decir)

  • CFBundleName- mostrado: no tengo idea . Los documentos sugieren que se utilizará en las listas, por lo que se recomienda un máximo de 16 caracteres, pero, por ejemplo, la lista de aplicaciones Configuración → General → Uso CFBundleDisplayNamerealmente se usa . Hasta la fecha, nunca he descubierto dónde se usa exactamente este.

Oh, esto es para aplicaciones iOS, no puedo hablar por otros sistemas operativos.

Jonny
fuente
77
CFBundleDisplayName también es lo que se muestra como el título de las notificaciones (en el Centro de notificaciones, en la pantalla de bloqueo, etc.).
Justin Russell
114
¿Cómo una respuesta "No tengo idea" obtuvo una marca de verificación y aumentó los votos?
badweasel
14
Mi punto es que nadie parece saber dónde se usa, nadie ha respondido todavía. Si conoce la respuesta, siéntase libre de agregarla tocando "Agregar otra respuesta".
Jonny
2
CFBundleDisplayName también se usa en la función para compartir archivos de iTunes. Si se deja en negro, la aplicación no se mostrará en la lista de iTunes aunque la función esté habilitada.
Unom
1
Supongo que CFBundleName es el nombre de la carpeta de la aplicación o "paquete" donde se almacena todo.
Kelin
100

Gracias por la respuesta de Wevah. Aquí están las descripciones para las personas que confundieron con estas dos constantes.

CFBundleDisplayName

CFBundleDisplayName(Cadena: iOS, Mac OS X) especifica el nombre para mostrar del paquete. Si admite nombres localizados para su paquete, incluya esta clave tanto en su archivo de lista de propiedades de información como en los archivos InfoPlist.strings de sus subdirectorios de idiomas. Si localiza esta clave, también debe incluir una versión localizada de la clave CFBundleName.

Si no tiene la intención de localizar su paquete, no incluya esta clave en su archivo Info.plist. La inclusión de esta clave no afecta la visualización del nombre del paquete, pero conlleva una penalización de rendimiento al buscar versiones localizadas de esta clave.

Antes de mostrar un nombre localizado para su paquete, el Finder compara el valor de esta clave con el nombre real de su paquete en el sistema de archivos. Si los dos nombres coinciden, el Finder continúa mostrando el nombre localizado del archivo InfoPlist.strings apropiado de su paquete. Si los nombres no coinciden, el Finder muestra el nombre del sistema de archivos.

Para obtener más información sobre los nombres para mostrar en Mac OS X, consulte Descripción general del sistema de archivos.


CFBundleName

CFBundleName(Cadena: iOS, Mac OS X) identifica el nombre corto del paquete. Este nombre debe tener menos de 16 caracteres y ser adecuado para mostrarse en la barra de menú y en la ventana de información de la aplicación. Puede incluir esta clave en el archivo InfoPlist.strings de un subdirectorio .lproj apropiado para proporcionarle valores localizados. Si localiza esta clave, también debe incluir la claveCFBundleDisplayName.

xhan
fuente
1
¿Qué es la "barra de menú y la ventana de información de la aplicación"? - ¿Esto se refiere a algo en Xcode, el simulador o un dispositivo iOS? @xhan: ¿alguna ayuda?
Ethan Parker
@BeemerFan se refiere a la barra de menú de OS X. xhan ha citado la documentación de Apple, y si se da cuenta, dice "iOS, Mac OS X", por lo que se aplica a ambos (y algunos de los detalles son específicos de la plataforma, obviamente).
Chris Page
Solo para citar la fuente, aquí está la información sobre CFBundleDisplayName de los documentos de Apple: developer.apple.com/library/ios/documentation/General/Reference/…
tylermilner
Es incorrecto decir que no incluya esta clave a menos que planee localizarla. El documento de Apple dice que debe incluir esta clave porque Siri la usa. developer.apple.com/library/archive/documentation/General/…
desafiante
1
Parece que Apple ahora requiere CFBundleDisplayName al menos desde 2019-06-28, o en algún lugar recientemente. Obtiene un rechazo binario no válido ahora.
Dave Hubbard
29

un gato ocupado

De acuerdo con Apple,

Nombre para mostrar del paquete:

El nombre de la aplicación que se muestra on the iPhone home screen proviene de la entrada CFBundleDisplayName (o "Bundle display name" como la cadena legible por humanos en Xcode) de la información de tu aplicación iOS.

Del mismo modo, el nombre de la aplicación que ves en tu WatchKit app's launch screen ynotifications proviene del CFBundleDisplayName de la lista de información de la aplicación WatchKit

Nombre del paquete:

The Apple Watch app on the iPhone actualmente usa el nombre del paquete (no el nombre para mostrar del paquete) de su aplicación iOS, que se especifica mediante la entrada CFBundleName (o "Nombre del paquete") de su Info.plist

Puede ver otras capturas de pantalla relacionadas y obtener más información en la página del desarrollador de Apple haciendo clic aquí .

Safa
fuente
19
No puedo evitar preguntarme: si vas a tomar la molestia de tomar una captura de pantalla para mostrar cómo se usan los valores, ¿no habría sido mejor darles valores diferentes para que aparezcan de manera diferente?
Richard Szalay
15

Por mi experiencia:

  • CFBundleDisplayName se usa en la cuadrícula de aplicaciones en dispositivos iOS
  • CFBundleName se usa en la lista de aplicaciones almacenadas en la biblioteca de iTunes
wojked
fuente
66
Solo Apple para hacer algo simple complejo.
Pato
Esto parece correcto, Google Hangouts tiene un nombre para mostrar corto y un nombre de biblioteca de iTunes desagradablemente largo como spam.
1
CFBundleName también aparece si recibe un mensaje de error al instalar una aplicación, como " No se pudo instalar ( CFBundleName ) en este momento".
saveknut
10

Solo si CFBundleDisplayNameno se especifica el Nombre para mostrar el paquete ( ), el valor del Nombre del paquete ( CFBundleName) se usará para mostrar debajo del Icono de la aplicación.

Tenga en cuenta que CFBundleDisplayNamees localizable y debe usarse para configurar el nombre de la aplicación que se muestra en el menú Springboard de iOS y las aplicaciones de Mac OS X / Control de la misión.

En resumen, no toque CFBundleNamey deje su valor predeterminado, es decir ${PRODUCT_NAME}.

Rapaz
fuente
0

Tenga en cuenta que el nombre del paquete también se usa como prefijo para el agente de usuario HTTP.

awph
fuente