Ecco una buona domanda:
Nome pacchetto, nome eseguibile, nome prodotto ... nient'altro?
ma mi chiedo solo la differenza tra "nome visualizzato bundle" e "nome bundle" nella finestra informazioni dell'applicazione cacao.
Ecco una buona domanda:
Nome pacchetto, nome eseguibile, nome prodotto ... nient'altro?
ma mi chiedo solo la differenza tra "nome visualizzato bundle" e "nome bundle" nella finestra informazioni dell'applicazione cacao.
Risposte:
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 CFBundleDisplayName
davvero. Ad oggi non ho mai capito dove sia esattamente usato questo.
Oh, questo è per le app iOS, non posso parlare per altri sistemi operativi.
grazie per la risposta di Wevah. ecco le descrizioni per le persone che hanno confuso con queste due costanti.
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
(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.
Secondo Apple,
Il nome dell'app visualizzato
on the iPhone home screen
proviene dalla voce CFBundleDisplayName (o "Nome visualizzato bundle" come stringa leggibile dall'uomo in Xcode) nella finestra Info.plist dell'app iOSAllo stesso modo, il nome dell'app che vedi nel tuo
WatchKit app's launch screen
enotifications
deriva dal CFBundleDisplayName del Info.plist dell'app WatchKit
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 .
Dalla mia esperienza:
Solo se CFBundleDisplayName
non 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 CFBundleName
e lasciare il suo valore come predefinito, ad es ${PRODUCT_NAME}
.