Apa perbedaan antara “nama tampilan bundel” dan “nama bundel” di daftar info aplikasi kakao

Jawaban:

102

Saya rasa tidak ada jawaban lain yang menjawab pertanyaan itu dengan tepat.

  • CFBundleDisplayName- Ditampilkan: ikon di bawah . Menurut dokumen, harus dilokalkan, tetapi hanya jika aplikasinya sendiri dilokalkan, jika tidak, akan ada semacam hukuman (jika ini benar pada kenyataannya, saya tidak bisa mengatakannya)

  • CFBundleName- ditampilkan: Saya tidak tahu . Docs menyarankan bahwa itu akan digunakan dalam daftar sehingga merekomendasikan maks 16 karakter, tetapi misalnya Pengaturan → Umum → Daftar penggunaan aplikasi CFBundleDisplayNamebenar-benar digunakan . Sampai saat ini saya tidak pernah tahu di mana tepatnya yang ini digunakan.

Oh, ini untuk aplikasi iOS, tidak bisa berbicara untuk OS lain.

Jonny
sumber
7
CFBundleDisplayName juga yang ditampilkan sebagai judul pemberitahuan (di Pusat Pemberitahuan, di layar kunci, dll.).
Justin Russell
114
bagaimana jawaban "Saya tidak tahu" mendapatkan tanda centang dan memilih lebih?
badweasel
14
Maksud saya adalah tidak ada yang tahu di mana itu digunakan, belum ada yang menjawab. Jika Anda tahu jawabannya, silakan tambahkan dengan mengetuk "Tambahkan Jawaban Lain".
Jonny
2
CFBundleDisplayName juga digunakan di Fitur Berbagi File iTunes. Jika dibiarkan hitam, aplikasi tidak akan ditampilkan di daftar iTunes meskipun fitur tersebut diaktifkan.
unom
1
Saya kira CFBundleName adalah nama folder aplikasi atau "bundle" tempat semuanya disimpan.
kelin
100

terima kasih atas jawaban Wevah. berikut adalah uraian untuk orang yang bingung dengan dua konstanta ini.

CFBundleDisplayName

CFBundleDisplayName(String - iOS, Mac OS X) menentukan nama tampilan bundel. Jika Anda mendukung nama yang dilokalkan untuk bundel Anda, sertakan kunci ini di file daftar properti informasi Anda dan di file InfoPlist.strings subdirektori bahasa Anda. Jika Anda melokalkan kunci ini, Anda juga harus menyertakan versi lokal dari kunci CFBundleName.

Jika Anda tidak bermaksud untuk melokalkan bundel Anda, jangan sertakan kunci ini dalam file Info.plist Anda. Pencantuman kunci ini tidak mempengaruhi tampilan nama bundel tetapi menimbulkan hukuman kinerja untuk mencari versi lokal dari kunci ini.

Sebelum menampilkan nama yang dilokalkan untuk bundel Anda, Finder membandingkan nilai kunci ini dengan nama sebenarnya dari bundel Anda dalam sistem file. Jika dua nama cocok, Finder melanjutkan untuk menampilkan nama yang dilokalkan dari file InfoPlist.strings yang sesuai dari bundel Anda. Jika namanya tidak cocok, Finder akan menampilkan nama sistem file.

Untuk informasi lebih lanjut tentang nama tampilan di Mac OS X, lihat Tinjauan Sistem File.


CFBundleName

CFBundleName(String - iOS, Mac OS X) mengidentifikasi nama pendek bundel. Nama ini harus kurang dari 16 karakter dan cocok untuk ditampilkan di bilah menu dan jendela Info aplikasi. Anda dapat menyertakan kunci ini dalam file InfoPlist.strings dari subdirektori .lproj yang sesuai untuk memberikan nilai yang dilokalkan untuknya. Jika Anda melokalkan kunci ini, Anda juga harus menyertakan kunci tersebutCFBundleDisplayName.

xhan
sumber
1
Apa itu "bilah menu dan jendela Info aplikasi" ??? - Apakah ini mengacu pada sesuatu di Xcode, simulator, atau perangkat iOS? @xhan - ada bantuan?
Ethan Parker
@BeemerFan mengacu pada bilah menu OS X. xhan telah mengutip dokumentasi Apple, dan jika Anda akan melihat, tertulis "iOS, Mac OS X”, jadi ini berlaku untuk keduanya (dan beberapa detail spesifik untuk platform, jelas).
Chris Page
Hanya untuk mengutip sumbernya, berikut adalah informasi tentang CFBundleDisplayName dari dokumen Apple: developer.apple.com/library/ios/documentation/General/Reference/…
tylermilner
Salah jika mengatakan bahwa tidak menyertakan kunci ini kecuali berencana melokalkan. Dokumen Apple mengatakan Anda harus memasukkan kunci ini karena Siri menggunakannya. developer.apple.com/library/archive/documentation/General/…
menantang
1
Tampaknya Apple sekarang membutuhkan CFBundleDisplayName setidaknya pada 2019-06-28, atau baru-baru ini. Anda mendapatkan penolakan biner yang tidak valid sekarang.
Dave Hubbard
29

kucing yang sibuk

Menurut Apple,

Nama tampilan bundel:

Nama aplikasi yang ditampilkan on the iPhone home screenberasal dari entri CFBundleDisplayName (atau "Bundle display name" sebagai string yang dapat dibaca manusia di Xcode) dari entri Info.plist aplikasi iOS Anda

Demikian pula, nama aplikasi yang Anda lihat di Anda WatchKit app's launch screen dan notificationsberasal dari CFBundleDisplayName Info.plist aplikasi WatchKit Anda

Nama bundel:

The Apple Watch app on the iPhone saat ini menggunakan nama bundel (bukan nama tampilan bundel) aplikasi iOS Anda, yang ditentukan oleh entri CFBundleName (atau "Nama bundel") dari Info.plistnya

Anda dapat melihat tangkapan layar terkait lainnya dan mendapatkan info lebih lanjut di halaman Pengembang Apple dengan mengklik di sini .

Safa
sumber
19
Saya tidak bisa tidak bertanya-tanya: jika Anda akan bersusah payah mengambil tangkapan layar untuk menunjukkan bagaimana nilai-nilai tersebut digunakan, bukankah lebih baik memberi mereka nilai yang berbeda sehingga tampak berbeda?
Richard Szalay
15

Dari pengalaman saya:

  • CFBundleDisplayName digunakan di kisi aplikasi pada perangkat iOS
  • CFBundleName digunakan dalam daftar aplikasi yang disimpan di perpustakaan iTunes
wojked
sumber
6
Hanya Apple untuk membuat hal sederhana menjadi rumit.
Bebek
Tampaknya benar, Google Hangouts memiliki nama tampilan yang pendek dan nama pustaka iTunes yang sangat panjang seperti spam.
1
CFBundleName juga muncul jika Anda mendapatkan pesan kesalahan saat menginstal aplikasi, seperti "( CFBundleName ) tidak dapat diinstal saat ini".
saveknut
10

Hanya jika Nama Tampilan Bundel ( CFBundleDisplayName) tidak ditentukan, nilai Nama Bundel (CFBundleName ) akan digunakan untuk ditampilkan di bawah Ikon Aplikasi.

Harap dicatat bahwa CFBundleDisplayName ini dapat dilokalkan, dan itu harus digunakan untuk mengatur nama Aplikasi yang ditampilkan di menu iOS Springboard & Aplikasi Mac OS X / Kontrol Misi.

Singkatnya, jangan sentuh CFBundleNamedan biarkan nilainya sebagai default, yaitu ${PRODUCT_NAME}.

Raptor
sumber
0

Perhatikan bahwa nama paket juga digunakan sebagai awalan untuk agen pengguna HTTP.

awph
sumber