Cocoaアプリケーションのinfo plistの「バンドル表示名」と「バンドル名」の違いは何ですか


回答:


102

他の答えが簡潔に質問に答えるとは思いません。

  • CFBundleDisplayName-表示:アイコンの下。ドキュメントによると、ローカライズする必要がありますが、アプリ自体がローカライズされている場合のみ、それ以外の場合は何らかのペナルティが生じます(これが実際に当てはまる場合、私は言えません)

  • CFBundleName-表示:わかりません。ドキュメントでは、リストで使用することを推奨しているため、最大16文字を推奨していますが、たとえば、[設定]→[一般]→[アプリの使用リスト]はCFBundleDisplayName実際に使用します。これまでのところ、これが正確にどこで使用されているのかはわかりません。

ああ、これはiOSアプリ用で、他のOSには対応していません。


7
CFBundleDisplayNameは、通知のタイトルとして表示されるものでもあります(通知センター、ロック画面など)。
ジャスティンラッセル

114
「わからない」の回答にチェックマークと賛成票を取得するにはどうすればよいですか。
badweasel 2014

14
私のポイントは、それがどこで使用されているか誰も知らないようで、誰もまだ答えていないということです。答えがわかっている場合は、[別の回答を追加]をタップして自由に追加してください。
ジョニー

2
CFBundleDisplayNameは、iTunesファイル共有機能でも使用されます。黒のままにすると、機能が有効になっていても、アプリはiTunesリストに表示されません。
unom 2014年

1
CFBundleNameは、すべてが格納されるアプリフォルダーまたは「バンドル」の名前だと思います。
kelin

100

ウェバの答えに感謝します。これは、この2つの定数と混同した人々のための説明です。

CFBundleDisplayName

CFBundleDisplayName(文字列-iOS、Mac OS X)は、バンドルの表示名を指定します。バンドルのローカライズされた名前をサポートしている場合は、情報プロパティリストファイルと言語サブディレクトリのInfoPlist.stringsファイルの両方にこのキーを含めます。このキーをローカライズする場合は、ローカライズ版のCFBundleNameキーも含める必要があります。

バンドルをローカライズするつもりがない場合は、このキーをInfo.plistファイルに含めないでください。このキーを含めても、バンドル名の表示には影響しませんが、このキーのローカライズされたバージョンを検索すると、パフォーマンスが低下します。

バンドルのローカライズされた名前を表示する前に、Finderはこのキーの値をファイルシステム内のバンドルの実際の名前と比較します。2つの名前が一致する場合、Finderはバンドルの適切なInfoPlist.stringsファイルからローカライズされた名前を表示します。名前が一致しない場合、Finderはファイルシステム名を表示します。

Mac OS Xでの表示名の詳細については、ファイルシステムの概要を参照してください。


CFBundleName

CFBundleName(ストリング-iOS、Mac OS X)バンドルの短縮名を識別します。この名前は16文字未満で、メニューバーやアプリケーションの情報ウィンドウでの表示に適しています。このキーを適切な.lprojサブディレクトリのInfoPlist.stringsファイルに含めて、ローカライズされた値を提供できます。このキーをローカライズする場合は、キーも含める必要がありますCFBundleDisplayName.


1
「メニューバーとアプリケーションの情報ウィンドウ」とは何ですか??? -これは、Xcode、シミュレータ、またはiOSデバイスの何かを指していますか?@xhan-助けて?
イーサンパーカー

@BeemerFanは、OS Xのメニューバーを指します。xhanはAppleのドキュメントを引用しており、気が付くと「iOS、Mac OS X」と書かれているため、両方に適用されます(詳細の一部は明らかにプラットフォーム固有です)
Chris Page

:ちょうどここにAppleのドキュメントからCFBundleDisplayNameの情報があり、ソースを引用するdeveloper.apple.com/library/ios/documentation/General/Reference/...
tylermilner

ローカライズの計画がない限り、このキーを含めないと言うのは間違いです。Appleのドキュメントでは、Siriが使用するため、このキーを含める必要があると記載されています。developer.apple.com/library/archive/documentation/General/…–
反抗的な

1
Appleは、少なくとも2019-06-28現在、または最近どこかでCFBundleDisplayNameを必要としているようです。現在、無効なバイナリ拒否が発生しています。
デイブハバード

29

忙しい猫

アップルによると、

バンドル表示名:

表示されるアプリ名on the iPhone home screenは、iOSアプリのInfo.plistのCFBundleDisplayName(または「Xcodeでは人間が読める文字列としての「バンドル表示名」)エントリから取得されます

同様に、アプリ名は、あなたの中で見るWatchKit app's launch screennotifications、あなたWatchKitアプリのInfo.plistのCFBundleDisplayNameから来ています

バンドル名:

The Apple Watch app on the iPhone 現在、iOSアプリのバンドル名(バンドル表示名ではない)を使用しています。これは、Info.plistのCFBundleName(または「バンドル名」)エントリで指定されています

ここをクリックすると、他の関連するスクリーンショットを表示したり、Apple Developerページで詳細情報を確認したりできます


19
私は仕方ないのですが、スクリーンショットを撮って値がどのように使用されているかを示すのに困るなら、それらに異なる値を与えて異なるように表示するのは良いことではないでしょうか?
Richard Szalay

15

私の経験から:

  • CFBundleDisplayNameは、iOSデバイスのアプリのグリッドで使用されます
  • CFBundleNameは、iTunesライブラリに保存されているアプリのリストで使用されています

6
単純なことを複雑にするのはAppleだけです。
ダック

これは正しいようです。Googleハングアウトの表示名は短く、スパムのような長くて迷惑なiTunesライブラリ名があります。

1
CFBundleNameは、「(CFBundleName)を現在インストールできませんでした」などのアプリのインストールに関するエラーメッセージが表示された場合にも表示されます。
saveknut 2015

10

バンドル表示名(CFBundleDisplayName)が指定されていない場合のみ、バンドル名()の値がCFBundleNameアプリアイコンの下に表示されます。

してくださいノートCFBundleDisplayNameローカライズされ、そしてiOSのスプリングメニュー&マックOS X用アプリケーション/ミッションコントロールに示したアプリケーション名を設定するために使用する必要があります。

要するに、CFBundleNameその値に触れず、デフォルトのままにしないでください${PRODUCT_NAME}


0

バンドル名はHTTPユーザーエージェントのプレフィックスとしても使用されることに注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.