Kakao uygulamasının bilgi plistindeki "paket görünen adı" ile "paket adı" arasındaki fark nedir


Yanıtlar:


102

Diğer yanıtların hiçbirinin soruyu kısaca yanıtladığını sanmıyorum.

  • CFBundleDisplayName- görüntülenir: aşağıdaki simge . Dokümanlara göre yerelleştirilmelidir, ancak yalnızca uygulamanın kendisi yerelleştirilmişse, aksi takdirde bir tür ceza olacaktır (bu gerçekte doğruysa söyleyemem)

  • CFBundleName- görüntüleniyor: Hiçbir fikrim yok . Dokümanlar, listelerde kullanılmasını önerir, bu nedenle en fazla 16 karakter önerilir, ancak örneğin, uygulamaların Ayarlar → Genel → Kullanım listesi CFBundleDisplayNamegerçekten kullanır . Bugüne kadar bunun tam olarak nerede kullanıldığını asla bulamadım.

Oh, bu iOS uygulamaları içindir, diğer işletim sistemleri için konuşamaz.


7
CFBundleDisplayName, bildirimlerin başlığı olarak da görüntülenen şeydir (Bildirim Merkezi'nde, kilit ekranında vb.).
Justin Russell

114
"Hiçbir fikrim yok" yanıtı nasıl onay işareti aldı ve nasıl artı oy aldı?
badweasel

14
Demek istediğim, kimse nerede kullanıldığını bilmiyor gibi görünüyor, henüz kimse cevap vermedi. Cevabı biliyorsanız, "Başka Bir Cevap Ekle" ye dokunarak eklemekten çekinmeyin.
Jonny

2
CFBundleDisplayName, iTunes Dosya Paylaşımı Özelliğinde de kullanılır. Siyah bırakılırsa, özellik etkinleştirilse bile uygulama iTunes listesinde görüntülenmez.
unom

1
Sanırım CFBundleName, her şeyin depolandığı uygulama klasörünün veya "paketin" adıdır.
kelin

100

Wevah'ın cevabı için teşekkürler. işte bu iki sabitle karıştıran insanlar için açıklamalar.

CFBundleDisplayName

CFBundleDisplayName(Dize - iOS, Mac OS X), paketin görünen adını belirtir. Paketiniz için yerelleştirilmiş adları destekliyorsanız, bu anahtarı hem bilgi özellik listesi dosyanıza hem de dil alt dizinlerinizin InfoPlist.strings dosyalarına ekleyin. Bu anahtarı yerelleştirirseniz, CFBundleName anahtarının yerelleştirilmiş bir sürümünü de eklemeniz gerekir.

Paketinizi yerelleştirmek istemiyorsanız, bu anahtarı Info.plist dosyanıza eklemeyin. Bu anahtarın eklenmesi paket adının görüntülenmesini etkilemez, ancak bu anahtarın yerelleştirilmiş sürümlerini aramak için bir performans cezasına neden olur.

Bulucu, paketiniz için yerelleştirilmiş bir ad görüntülemeden önce, bu anahtarın değerini paketinizin dosya sistemindeki gerçek adıyla karşılaştırır. İki ad eşleşirse, Bulucu, paketinizin uygun InfoPlist.strings dosyasından yerelleştirilmiş adı görüntülemeye devam eder. Adlar eşleşmezse, Finder dosya sistemi adını görüntüler.

Mac OS X'te görünen adlar hakkında daha fazla bilgi için bkz. Dosya Sistemine Genel Bakış.


CFBundleName

CFBundleName(Dize - iOS, Mac OS X) paketin kısa adını tanımlar. Bu ad, 16 karakterden kısa olmalı ve menü çubuğunda ve uygulamanın Bilgi penceresinde görüntülenmeye uygun olmalıdır. Bu anahtarı yerelleştirilmiş değerler sağlamak için uygun bir .lproj alt dizininin InfoPlist.strings dosyasına dahil edebilirsiniz. Bu anahtarı yerelleştirirseniz, anahtarı da eklemelisinizCFBundleDisplayName.


1
"Menü çubuğu ve uygulamanın Bilgi penceresi" nedir ??? - Bu, Xcode'daki, simülatördeki veya bir iOS cihazındaki bir şeyi mi ifade ediyor? @xhan - herhangi bir yardım?
Ethan Parker

@BeemerFan OS X menü çubuğuna atıfta bulunuyor. xhan, Apple'ın belgelerinden alıntı yaptı ve fark ederseniz, "iOS, Mac OS X" yazıyor, bu nedenle her ikisi için de geçerli (ve bazı ayrıntılar açıkça platforma özeldir).
Chris Page

Sadece kaynağı alıntılamak için, CFBundleDisplayName hakkında Apple'ın belgelerinden bilgiler burada: developer.apple.com/library/ios/documentation/General/Reference/…
tylermilner

Yerelleştirme planlanmadıkça bu anahtarı eklemeyin demek yanlıştır. Apple belgesi, Siri tarafından kullanıldığı için bu anahtarı eklemeniz gerektiğini söylüyor. developer.apple.com/library/archive/documentation/General/…
meydan okuyan

1
Görünüşe göre Apple artık en az 2019-06-28 itibariyle CFBundleDisplayName veya yakın zamanda bir yerde istiyor. Artık geçersiz bir ikili dosya reddi alıyorsunuz.
Dave Hubbard

29

meşgul bir kedi

Apple'a göre,

Paket görünen adı:

Görüntülenen uygulama adı on the iPhone home screen, iOS uygulamanızın Info.plist'in CFBundleDisplayName (veya Xcode'da insan tarafından okunabilir dize olarak "Bundle görünen adı") girişinden gelir.

Benzer şekilde, içinde gördüğünüz uygulama adı WatchKit app's launch screen ve notificationsWatchKit uygulamanızın Info.plist'in CFBundleDisplayName öğesinden gelir.

Paket adı:

The Apple Watch app on the iPhone şu anda iOS uygulamanızın Info.plist'in CFBundleName (veya "Paket adı") girişi tarafından belirtilen paket adını (paket görünen adını değil) kullanıyor

Apple Geliştirici sayfasında diğer ilgili ekran görüntülerini görebilir ve daha fazla bilgiye şu adresten ulaşabilirsiniz: buraya tıklayarak .


19
Yardım edemem ama merak ediyorum: Değerlerin nasıl kullanıldığını göstermek için ekran görüntüsü alma zahmetine girecekseniz, farklı görünmeleri için onlara farklı değerler vermek daha iyi olmaz mıydı?
Richard Szalay

15

Deneyimlerime göre:

  • CFBundleDisplayName , iOS cihazlarındaki uygulamalar ızgarasında kullanılır
  • CFBundleName , iTunes kitaplığında depolanan uygulamalar listesinde kullanılır

6
Basit bir şeyi karmaşık hale getirmek için sadece Apple.
Duck

Bu doğru görünüyor, Google Hangouts'un kısa bir görünen adı ve iğrenç derecede uzun, spam benzeri bir iTunes kitaplık adı var.

1
CFBundleName, "( CFBundleName ) şu anda yüklenemedi " gibi bir uygulamayı yüklerken bir hata mesajı alırsanız da görünür .
saveknut

10

Yalnızca Paket Görünen Adı ( CFBundleDisplayName) belirtilmezse, Paket Adı ( CFBundleName) değeri Uygulama Simgesi altında görüntülenmek için kullanılır.

Lütfen bunun CFBundleDisplayNameyerelleştirilebilir olduğunu ve iOS Springboard menüsünde ve Mac OS X Uygulamaları / Görev Kontrolünde gösterilen Uygulama adını ayarlamak için kullanılması gerektiğini unutmayın .

Kısacası, dokunmayın CFBundleNameve değerini varsayılan olarak bırakın, yani ${PRODUCT_NAME}.


0

Paket adının ayrıca HTTP kullanıcı aracısı için önek olarak kullanıldığını unutmayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.