2010-08-09 6 views
66

Paketname, ausführbarer Name, Produktname ... mehr?Paketname, ausführbarer Name, Produktname ... noch etwas?

kann jemand bitte helfen, die Verwendung von jedem von diesen in Xcode auf einem iPhone Projekt zu klären? Sie versäumen es nie, die lebenden Bajezus aus mir zu verwirren ... und ich bin es leid, sie falsch zu verstehen.

Jemand bitte erklären ... warum zur Hölle brauchen wir diese vielen verschiedenen Benennungsschemata für eine App-Umgebung? und was benutze ich für jeden von diesen, damit ich sie in das richtige Loch in meinem Kopf stecken kann?

+0

Ich denke, wir könnten Ihnen besser helfen, wenn wir ein bestimmtes Problem hatten. –

Antwort

40

Wenn Sie an einem info.plist aussehen, es geht ungefähr so:

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

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

In einigen Fällen möchten Sie vielleicht einen komplexeren Anzeigenamen, der nicht dazu geeignet ist, Dinge wie Bundles oder ausführbare Dateien zu benennen, weshalb Sie sie unabhängig voneinander ändern können - aber Sie müssen nicht. Der Standardwert ist, dass PRODUCT_NAME derselbe Name wie der Projektname ist, aber Sie können es auch in den Erstellungseinstellungen überschreiben.

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

+0

OK! Endlich etwas Klarheit. Also meine letzte Nachricht an den Speicher ist nur daran zu erinnern ... nur ändern PRODUCT_NAME (und am besten, es im Ziel-Info-Fenster zu tun, nehme ich an). Danke! – tbarbe

+0

Gibt es neben diesen drei anderen Flaggen noch weitere Flaggen, die hilfreich sein können? – thesummersign

+0

Es gibt eine Menge potenziell nützliche Einstellungen, die Sie in der PLIST aktivieren können, sollten Sie wirklich google für eine vollständige Liste, um zu sehen, was möglich ist. –

0

Wenn Sie eine Anwendung mit UI (zB: Rechner) haben, dann sind die meisten der oben genannten gleich und nicht so wichtig, aber wenn Ihre Projektausgabe nur ein Bündel (eine Engine) ist, können Sie verschiedene ausführbare Dateien haben (apps/frontend mit UI, das das Paket "ur bundle" als Backend verwendet) Ihres Bundles, das Sie mit einem anderen Namen für die ausführbare Datei angeben können. Und im Idealfall, wie Kendall sagte, ist der Bundelname derselbe wie der Produktname. Weitere Informationen finden Sie im Xcode Build System Guide. Hoffe das hilft. :-).

34

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

Executable Name - ist ein Programm binäre Namen, dh kühle Program.app/CoolProgram

Bundle Anzeigename - was auf dem iPhone-Bildschirm angezeigt wird, zum Beispiel kühler Prog (seit Kühle Programm wahrscheinlich passt nicht auf Springboard).

Und Apple behauptet, dass Bundle Anzeigename zu Paketnamen entsprechen müssen, dh Sie nicht Paketnamen TheApplication verwenden können, und bündeln Anzeigenamen etwas anderes

+4

Zumindest haben wir aus diesem Grund vor zwei Jahren einige Apps abgelehnt. Vielleicht ist es jetzt geändert, oder App-Reviewer sind nicht so wütend :) –

+3

Bundle Display-Name kann jetzt zu Bundle-Namen, meine App wird nicht aus diesem Grund abgelehnt. – RRN

-2

Nach docs Apple.com, es ist genau das Gegenteil von dem, was du würdest es erwarten.

Der "Anzeigename" ist der ACTUAL Name des Bündels.

Aber der "Bundle Name" ist nur der kurze "DISPLAY" Name.

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

CFBundleName (empfohlen, Localizable) Der eigentliche Name des Bündels.

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

Ugh.

+4

Der "Bundle-Anzeigename" ist der Kurzname. –

0

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