Bundle-Name, ausführbarer Name, Produktname ... noch etwas?

74

Bundle Name, ausführbarer Name, Produktname ... mehr ??

Kann jemand bitte helfen, die Verwendung dieser Elemente in Xcode in einem iPhone-Projekt zu klären? Sie verwirren immer wieder den lebenden Bajezus aus mir heraus ... und ich bin es leid, sie falsch zu verstehen.

Jemand erklärt bitte ... warum zum Teufel brauchen wir so viele verschiedene Namensschemata für eine App-Umgebung? und wofür verwende ich diese, damit ich sie in das richtige Ablagefach in meinem Kopf stecken kann?

tbarbe
quelle
Ich denke, wir können Ihnen möglicherweise besser helfen, wenn wir ein bestimmtes Problem haben, auf das Sie gestoßen sind.
Kendall Helmstetter Gelner

Antworten:

44

Wenn Sie sich eine info.plist ansehen, geht es ungefähr so:

Bundle Display Name - ${PRODUCT_NAME}
Executable File - ${EXECUTABLE_NAME}
Bundle Name - ${PRODUCT_NAME}

Sie können also sehen, dass PRODUCT_NAME normalerweise den gleichen Namen für das Bundle und das gibt, was der Benutzer sieht.

In einigen Fällen möchten Sie möglicherweise einen komplexeren Anzeigenamen, der nicht zum Benennen von Bundles oder ausführbaren Dateien geeignet ist. Deshalb können Sie diese unabhängig voneinander ändern - müssen dies aber nicht. Standardmäßig ist PRODUCT_NAME derselbe Name wie der Projektname, Sie können ihn jedoch auch in den Build-Einstellungen überschreiben.

Sie sollten die Art und Weise, wie sie in info.plist eingerichtet sind, nicht ändern, es sei denn, Sie haben einen sehr guten Grund ... ändern Sie einfach PRODUCT_NAME.

Kendall Helmstetter Gelner
quelle
1
OK! Endlich etwas Klarheit. Meine letzte Nachricht an den Speicher ist also, sich nur zu erinnern ... nur PRODUCT_NAME zu ändern (und am besten im Zielinfofenster, das ich annehme). Vielen Dank!
Tbarbe
Gibt es außer diesen drei noch andere Flaggen, die hilfreich sein können?
Thesummersign
Es gibt eine Menge potenziell nützlicher Einstellungen, die Sie in der Liste aktivieren können. Sie sollten wirklich bei Google nach einer vollständigen Liste suchen, um zu sehen, was möglich ist.
Kendall Helmstetter Gelner
41

Bundle-Name - ist der Ordnername, in dem Ihre App (einschließlich der ausführbaren Datei und aller Ressourcen) gespeichert wird (Cool Program.app).

Ausführbarer Name - ist ein Programm-Binärname, dh Cool Program.app/CoolProgram

Bundle-Anzeigename - wird auf dem iPhone-Bildschirm angezeigt, z. B. Cool Prog (da Cool Program wahrscheinlich nicht auf Springboard passt).

Apple behauptet, dass der Bundle-Anzeigename dem Bundle-Namen entsprechen muss, dh Sie können den Bundle-Namen TheApplication und den Bundle-Anzeigenamen Something Other nicht verwenden

Nickolay Olshevsky
quelle
4
Zumindest haben wir einige Apps aus diesem Grund vor 2 Jahren abgelehnt. Vielleicht ist es jetzt geändert, oder App-Rezensenten sind nicht so wütend :)
Nickolay Olshevsky
3
Bundle-Anzeigename kann sich jetzt vom Bundle-Namen unterscheiden. Meine App wird aus diesem Grund nicht abgelehnt.
RRN
0

Wenn Sie eine Anwendung mit Benutzeroberfläche haben (z. B. Rechner), sind die meisten der oben genannten gleich und spielen keine Rolle. Wenn Ihre Projektausgabe jedoch nur ein Bundle (eine Engine) ist, können Sie verschiedene ausführbare Dateien (Apps / Frontend mit) verwenden Benutzeroberfläche, die Ihr Bundle als Backend verwendet) Ihres Bundles, die Sie unter Verwendung eines anderen ausführbaren Dateinamens angeben können. Und im Idealfall entspricht der Bundle-Name, wie Kendall sagte, dem Produktnamen. Weitere Informationen finden Sie im Xcode Build System-Handbuch. Hoffe das hilft. :-).

Kiran Balegar
quelle
0

Es gibt auch $ {TARGET_NAME} - zum Beispiel, wenn Sie ein Projekt haben, das mehrere Ziele mit unterschiedlichen 'Bundle-Anzeigenamen' erstellt.

Robm
quelle
-2

Laut Apple.com-Dokumenten ist es genau das Gegenteil von dem, was Sie erwarten würden.

Der "Anzeigename" ist der IST- Name des Bundles.

Der "Bundle-Name" ist jedoch nur der kurze "DISPLAY" -Name.

Tatsächliches Ausschneiden / Einfügen von Apple.com:

CFBundleName (empfohlen, lokalisierbar) Der tatsächliche Name des Bundles.

CFBundleDisplayName (empfohlen, lokalisierbar) Der kurze Anzeigename des Bundles.

Pfui.

Carol
quelle
4
Der "Bundle-Anzeigename" ist der Kurzname.
Charles Cavalcante