Qual è la differenza tra "nome visualizzato bundle" e "nome bundle" nella lista informazioni dell'applicazione cacao


Risposte:


102

Non credo che nessuna delle altre risposte risponda in modo conciso alla domanda.

  • CFBundleDisplayName- visualizzato: sotto l'icona . Secondo i documenti, dovrebbe essere localizzato, ma solo se l'app stessa è localizzata, altrimenti ci sarà una sorta di penalità (se questo è vero nella realtà non posso dire)

  • CFBundleName- visualizzato: non ne ho idea . I documenti suggeriscono che verrà utilizzato negli elenchi, pertanto si consigliano un massimo di 16 caratteri, ma ad esempio l'elenco Impostazioni → Generale → Utilizzo delle app utilizza CFBundleDisplayNamedavvero. Ad oggi non ho mai capito dove sia esattamente usato questo.

Oh, questo è per le app iOS, non posso parlare per altri sistemi operativi.


7
CFBundleDisplayName è anche ciò che viene visualizzato come titolo delle notifiche (nel Centro notifiche, nella schermata di blocco, ecc.).
Justin Russell,

114
in che modo la risposta "Non ho idea" ha ottenuto un segno di spunta e voti positivi?
badweasel,

14
Il mio punto è che nessuno sembra sapere dove viene utilizzato, nessuno ha ancora risposto. Se conosci la risposta, sentiti libero di aggiungerla toccando "Aggiungi un'altra risposta".
Jonny,

2
CFBundleDisplayName viene utilizzato anche nella funzione di condivisione file di iTunes. Se lasciata nera, l'app non verrà visualizzata nell'elenco iTunes anche se la funzione è abilitata.
unom,

1
Suppongo che CFBundleName sia il nome della cartella dell'app o "bundle" in cui è archiviato tutto.
Kelin,

100

grazie per la risposta di Wevah. ecco le descrizioni per le persone che hanno confuso con queste due costanti.

CFBundleDisplayName

CFBundleDisplayName(String - iOS, Mac OS X) specifica il nome visualizzato del bundle. Se si supportano nomi localizzati per il proprio bundle, includere questa chiave sia nel file dell'elenco delle proprietà delle informazioni sia nei file InfoPlist.strings delle sottodirectory della lingua. Se si localizza questa chiave, è necessario includere anche una versione localizzata della chiave CFBundleName.

Se non si intende localizzare il pacchetto, non includere questa chiave nel file Info.plist. L'inclusione di questa chiave non influisce sulla visualizzazione del nome del bundle ma comporta una penalità per le prestazioni nella ricerca di versioni localizzate di questa chiave.

Prima di visualizzare un nome localizzato per il pacchetto, il Finder confronta il valore di questa chiave con il nome effettivo del pacchetto nel file system. Se i due nomi corrispondono, il Finder procede a visualizzare il nome localizzato dal file InfoPlist.strings appropriato del pacchetto. Se i nomi non corrispondono, il Finder visualizza il nome del file system.

Per ulteriori informazioni sui nomi visualizzati in Mac OS X, vedere Panoramica del file system.


CFBundleName

CFBundleName(String - iOS, Mac OS X) identifica il nome breve del pacchetto. Questo nome deve contenere meno di 16 caratteri ed essere adatto per la visualizzazione nella barra dei menu e nella finestra Informazioni dell'applicazione. È possibile includere questa chiave nel file InfoPlist.strings di una sottodirectory .lproj appropriata per fornire valori localizzati. Se si localizza questa chiave, è necessario includere anche la chiaveCFBundleDisplayName.


1
Che cos'è la "barra dei menu e la finestra Informazioni dell'applicazione" ??? - Si riferisce a qualcosa in Xcode, nel simulatore o in un dispositivo iOS? @xhan - qualche aiuto?
Ethan Parker,

@BeemerFan si riferisce alla barra dei menu di OS X. xhan ha citato la documentazione di Apple e, se noterai, dice "iOS, Mac OS X", quindi si applica a entrambi (e alcuni dettagli sono specifici della piattaforma, ovviamente).
Chris Pagina

Solo per citare la fonte, ecco le informazioni su CFBundleDisplayName dai documenti di Apple: developer.apple.com/library/ios/documentation/General/Reference/…
tylermilner

È sbagliato affermare che non includere questa chiave a meno che non si pianifichi di localizzarla. Il documento Apple afferma che è necessario includere questa chiave perché Siri la utilizza. developer.apple.com/library/archive/documentation/General/…
sfida

1
Sembra che Apple ora richieda CFBundleDisplayName almeno dal 28/06/2019 o da qualche parte recentemente. Ora ricevi un rifiuto binario non valido.
Dave Hubbard,

29

un gatto impegnato

Secondo Apple,

Nome visualizzato del pacchetto:

Il nome dell'app visualizzato on the iPhone home screenproviene dalla voce CFBundleDisplayName (o "Nome visualizzato bundle" come stringa leggibile dall'uomo in Xcode) nella finestra Info.plist dell'app iOS

Allo stesso modo, il nome dell'app che vedi nel tuo WatchKit app's launch screen e notificationsderiva dal CFBundleDisplayName del Info.plist dell'app WatchKit

Nome del pacchetto:

The Apple Watch app on the iPhone attualmente utilizza il nome del bundle (non il nome visualizzato del bundle) dell'app iOS, specificato dalla voce CFBundleName (o "Nome bundle") del relativo Info.plist

Puoi vedere altri screenshot correlati e ottenere maggiori informazioni nella pagina degli sviluppatori Apple facendo clic qui .


19
Non posso fare a meno di chiedermi: se hai intenzione di fare uno screenshot per mostrare come vengono usati i valori, non sarebbe meglio dare loro valori diversi in modo che appaiano diversamente?
Richard Szalay,

15

Dalla mia esperienza:

  • CFBundleDisplayName viene utilizzato nella griglia di app sui dispositivi iOS
  • CFBundleName viene utilizzato nell'elenco delle app memorizzate nella libreria di iTunes

6
Solo Apple per rendere una cosa semplice complessa.
Anatra

Questo sembra giusto, Google Hangouts ha un nome visualizzato breve e un nome libreria di iTunes simile a spam odiosamente lungo.

1
CFBundleName viene visualizzato anche se viene visualizzato un messaggio di errore durante l'installazione di un'app, ad esempio " Impossibile installare ( CFBundleName ) in questo momento".
saveknut,

10

Solo se CFBundleDisplayNamenon viene specificato Nome visualizzato pacchetto ( ), il valore di Nome pacchetto ( CFBundleName) verrà utilizzato per essere visualizzato sotto l'icona dell'app.

Si noti che CFBundleDisplayNameè localizzabile e deve essere utilizzato per impostare il nome dell'app visualizzato nel menu Trampolino iOS e Applicazioni Mac OS X / Controllo missione.

In breve, non toccare CFBundleNamee lasciare il suo valore come predefinito, ad es ${PRODUCT_NAME}.


0

Si noti che il nome del bundle viene utilizzato anche come prefisso per l'agente utente HTTP.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.