2012-03-12 128 views
10

關於軟件包名稱和捆綁顯示名稱類似的問題已經被問,比如:軟件包名稱和捆綁顯示名稱

What's the difference between "bundle display name" and "bundle name" in cocoa application's info plist

但到目前爲止,我還沒有讀過,當你需要在一個很不錯的簡潔回答使用它們,當它們可以被不同地指定時,等等。

該文檔似乎表明,如果您有本地化,並且可能會損害性能(如果您在沒有本地化時指定它),那麼捆綁顯示名稱纔有用。

有人可以一勞永逸地清除這些問題嗎?

蘋果的文檔

CFBundleName(字符串 - 的iOS和Mac OS X)識別 束的簡稱。該名稱的長度應小於16個字符,並且適合在菜單欄和應用程序的Info窗口中顯示 。您可以將此密鑰包含在適當的.lproj子目錄的 的InfoPlist.strings文件中,以爲其提供本地化值。如果您 本地化這個鍵,你還應該包括關鍵 「CFBundleDisplayName。」

CFBundleDisplayName(字符串 - 的iOS和Mac OS X)指定了包的顯示名稱。如果您支持您的軟件包的本地化名稱,則 將在您的信息屬性列表文件和 語言子目錄的InfoPlist.strings文件中包含此密鑰。如果您本地化此密鑰 ,則還應該包含本地化版本的 CFBundleName密鑰。

如果您不打算本地化您的軟件包,請不要在Info.plist文件中包含此密鑰 。包含此密鑰不會影響軟件包名稱的 顯示,但確實會導致性能損失至 搜索此密鑰的本地化版本。

在爲您的軟件包顯示本地化名稱之前,Finder 會將此密鑰的值與文件系統中您的軟件包 的實際名稱進行比較。如果這兩個名稱匹配,Finder將前往 顯示您的捆綁包的相應InfoPlist.strings文件 的本地化名稱。如果名稱不匹配,Finder會顯示 文件系統名稱。

+0

好問題,好消息是捆綁顯示名稱將編輯圖標下的文本和捆綁名稱不會傷害任何東西(據我所知!) – 2014-02-06 23:24:59

+0

我們這兩個問題沒有幫助嗎? http://stackoverflow.com/questions/19337639/how-do-i-change-the-display-name-in-xcode-5 http://stackoverflow.com/questions/9667582/bundle-name-and-bundle-display-name – amahfouz 2015-02-20 05:02:40

+0

我認爲你從Apple的文檔中複製的段落非常清楚你只需要CFBundleName,除非你打算在這種情況下提供本地化的字符串(並且只在這種情況下),你需要還提供CFBundleDisplayName。 – ukayer 2017-09-28 01:14:16

回答

10

CFBundleDisplayName是改變你的設備(和仿真器)上的應用程序圖標下的文字。是的,這應該是本地化的,但是在編輯或者說出任何你想要的內容方面沒有實際的性能損失。

進行編輯,你可以在「下包顯示名稱‘項目信息’改變:

Location of the Bundle display name attribute

CFBundleName沒有線索我想不通這是什麼改變或爲什麼。

+1

** CFBundleName **是在菜單欄和應用程序的「信息」窗口中顯示的內容。 – Jimi 2016-06-02 10:06:24