Was ist der Unterschied zwischen "Bundle-Anzeigename" und "Bundle-Name" in der Info-Liste der Kakaoanwendung?

Antworten:

102

Ich glaube nicht, dass eine der anderen Antworten die Frage präzise beantwortet.

  • CFBundleDisplayName- angezeigt: unter dem Symbol . Laut docs sollte lokalisiert werden, aber nur wenn die App selbst lokalisiert ist, sonst wird es eine Art Strafe geben (wenn dies in der Realität wahr ist, kann ich nicht sagen)

  • CFBundleName- angezeigt: Ich habe keine Ahnung . Die Dokumente schlagen vor, dass es in Listen verwendet wird, daher werden maximal 16 Zeichen empfohlen, aber zum Beispiel wird die Liste Einstellungen → Allgemein → Verwendung der Apps CFBundleDisplayNamewirklich verwendet. Bis heute habe ich nie herausgefunden, wo genau dieser verwendet wird.

Oh, dies ist für iOS-Apps, kann nicht für andere Betriebssysteme sprechen.

Jonny
quelle
7
CFBundleDisplayName wird auch als Titel der Benachrichtigungen angezeigt (im Benachrichtigungscenter, auf dem Sperrbildschirm usw.).
Justin Russell
114
Wie erhielt eine Antwort "Ich habe keine Ahnung" ein Häkchen und mehr Stimmen?
Badweasel
14
Mein Punkt ist, dass niemand zu wissen scheint, wo es verwendet wird, noch hat niemand geantwortet. Wenn Sie die Antwort kennen, können Sie sie hinzufügen, indem Sie auf "Weitere Antwort hinzufügen" tippen.
Jonny
2
CFBundleDisplayName wird auch in der iTunes-Dateifreigabefunktion verwendet. Wenn die App schwarz bleibt, wird sie nicht in der iTunes-Liste angezeigt, obwohl die Funktion aktiviert ist.
Unom
1
Ich nehme an, dass CFBundleName der Name des App-Ordners oder "Bundles" ist, in dem alles gespeichert ist.
Kelin
100

Danke für Wevahs Antwort. Hier sind die Beschreibungen für Personen, die mit diesen beiden Konstanten verwechselt haben.

CFBundleDisplayName

CFBundleDisplayName(String - iOS, Mac OS X) gibt den Anzeigenamen des Bundles an. Wenn Sie lokalisierte Namen für Ihr Bundle unterstützen, fügen Sie diesen Schlüssel sowohl in Ihre Liste der Informationseigenschaftslisten als auch in die Dateien InfoPlist.strings Ihrer Sprachunterverzeichnisse ein. Wenn Sie diesen Schlüssel lokalisieren, sollten Sie auch eine lokalisierte Version des CFBundleName-Schlüssels einschließen.

Wenn Sie Ihr Bundle nicht lokalisieren möchten, fügen Sie diesen Schlüssel nicht in Ihre Info.plist-Datei ein. Die Aufnahme dieses Schlüssels wirkt sich nicht auf die Anzeige des Bundle-Namens aus, führt jedoch zu einer Leistungsminderung bei der Suche nach lokalisierten Versionen dieses Schlüssels.

Bevor ein lokalisierter Name für Ihr Bundle angezeigt wird, vergleicht der Finder den Wert dieses Schlüssels mit dem tatsächlichen Namen Ihres Bundles im Dateisystem. Wenn die beiden Namen übereinstimmen, zeigt der Finder den lokalisierten Namen aus der entsprechenden InfoPlist.strings-Datei Ihres Bundles an. Wenn die Namen nicht übereinstimmen, zeigt der Finder den Namen des Dateisystems an.

Weitere Informationen zu Anzeigenamen in Mac OS X finden Sie unter Übersicht über das Dateisystem.


CFBundleName

CFBundleName(String - iOS, Mac OS X) gibt den Kurznamen des Bundles an. Dieser Name sollte weniger als 16 Zeichen lang sein und zur Anzeige in der Menüleiste und im Infofenster der Anwendung geeignet sein. Sie können diesen Schlüssel in die Datei InfoPlist.strings eines entsprechenden .lproj-Unterverzeichnisses aufnehmen, um lokalisierte Werte dafür bereitzustellen. Wenn Sie diesen Schlüssel lokalisieren, sollten Sie auch den Schlüssel einschließenCFBundleDisplayName.

xhan
quelle
1
Was ist die "Menüleiste und das Infofenster der Anwendung" ??? - Bezieht sich dies auf etwas in Xcode, dem Simulator oder einem iOS-Gerät? @xhan - Hilfe?
Ethan Parker
@BeemerFan bezieht sich auf die OS X-Menüleiste. xhan hat Apples Dokumentation zitiert, und wenn Sie bemerken, dass dort "iOS, Mac OS X" steht, gilt dies für beide (und einige Details sind natürlich plattformspezifisch).
Chris Page
Um nur die Quelle zu zitieren, hier sind die Informationen zu CFBundleDisplayName aus Apples Dokumenten: developer.apple.com/library/ios/documentation/General/Reference/…
tylermilner
Es ist falsch zu sagen, dass dieser Schlüssel nur enthalten ist, wenn eine Lokalisierung geplant ist. In einem Apple-Dokument heißt es, dass Sie diesen Schlüssel einschließen müssen, da Siri ihn verwendet. developer.apple.com/library/archive/documentation/General/…
trotzig
1
Es scheint, dass Apple jetzt CFBundleDisplayName ab mindestens 2019-06-28 oder irgendwo vor kurzem benötigt. Sie erhalten jetzt eine ungültige binäre Ablehnung.
Dave Hubbard
29

eine beschäftigte Katze

Laut Apple

Anzeigename des Bundles:

Der angezeigte App-Name on the iPhone home screenstammt aus dem Eintrag CFBundleDisplayName (oder "Bundle-Anzeigename" als lesbare Zeichenfolge in Xcode) in der Info.plist Ihrer iOS-App

Ebenso stammt der App-Name, den Sie in Ihrem WatchKit app's launch screen und notificationsaus dem CFBundleDisplayName der Info.plist Ihrer WatchKit-App sehen

Bündelname:

The Apple Watch app on the iPhone Derzeit wird der Bundle-Name (nicht der Bundle-Anzeigename) Ihrer iOS-App verwendet, der durch den Eintrag CFBundleName (oder "Bundle-Name") in der Info.plist angegeben wird

Sie können andere verwandte Screenshots sehen und weitere Informationen auf der Apple Developer-Seite erhalten, indem Sie hier klicken .

Safa
quelle
19
Ich frage mich nur: Wenn Sie sich die Mühe machen, einen Screenshot zu machen, um zu zeigen, wie die Werte verwendet werden, wäre es nicht besser gewesen, ihnen unterschiedliche Werte zu geben, damit sie unterschiedlich aussehen?
Richard Szalay
15

Meiner Erfahrung nach:

  • CFBundleDisplayName wird im Raster von Apps auf iOS-Geräten verwendet
  • CFBundleName wird in der Liste der in der iTunes-Mediathek gespeicherten Apps verwendet
wojked
quelle
6
Nur Apple, um eine einfache Sache komplex zu machen.
Ente
Dies scheint richtig zu sein. Google Hangouts hat einen kurzen Anzeigenamen und einen widerlich langen Namen einer Spam-ähnlichen iTunes-Mediathek.
1
CFBundleName wird auch angezeigt, wenn beim Installieren einer App eine Fehlermeldung angezeigt wird , z. B. "( CFBundleName ) konnte zu diesem Zeitpunkt nicht installiert werden".
Saveknut
10

Nur wenn Bundle Display Name ( CFBundleDisplayName) nicht angegeben ist, wird der Wert von Bundle Name ( CFBundleName) verwendet, um unter dem App-Symbol angezeigt zu werden.

Bitte beachten Sie, dass dies CFBundleDisplayNamelokalisierbar ist und verwendet werden sollte, um den im iOS Springboard-Menü und in Mac OS X Applications / Mission Control angezeigten App-Namen festzulegen.

Kurz gesagt, berühren Sie nicht CFBundleNameund lassen Sie den Wert als Standard, dh ${PRODUCT_NAME}.

Raubvogel
quelle
0

Beachten Sie, dass der Bundle-Name auch als Präfix für den HTTP-Benutzeragenten verwendet wird.

awph
quelle