28 Stimmen

XCode-Bundle-Bezeichner-Formatierung von {PRODUCT_NAME}

Angenommen, ich habe eine iPhone-Anwendung mit dem Produktnamen " Meine App " (mit einem Leerzeichen zwischen den Wörtern) in den XCode-Build-Einstellungen. In meinem info.plist wird der Bundle-Identifikator angegeben als com.mycompany.${PRODUCT_NAME:rfc1034identifier}

In dem daraus resultierenden info.plist im Anwendungsbündel wird der Bündelbezeichner wie folgt angezeigt com.mycompany.My-App . Ich muss es sein com.mycompany.MyApp . Wie ändere ich die Einstellung für den Bündelbezeichner, damit der Produktname wie gewünscht umgewandelt wird?

ps. Wenn ich die ${PRODUCT_NAME:rfc1034identifier} a ${PRODUCT_NAME:identifier} ist der resultierende Bündelbezeichner com.mycompany.My_App . Ich muss nur das Leerzeichen im Produktnamen im Ergebnis vollständig entfernen.

43voto

deanWombourne Punkte 37656

Einfach eintippen?

d.h. anstelle von com.mycompany.${PRODUCT_NAME:rfc1034identifier} einfach tippen com.mycompany.MyApp

Wenn Sie mehr als ein Ziel haben, das unterschiedliche Bündelnamen benötigt, können Sie eine eigene Variable erstellen und diese stattdessen verwenden.

Im Menü "Build" (wählen Sie Ihr Projekt aus und wählen Sie "Get Info") können Sie Ihre eigenen Variablen zum Projekt hinzufügen. Wenn Sie eine mit dem Namen MY_BUNDLE_NAME erstellen und diese auf MyApp setzen, können Sie dann com.mycompany.${MY_BUNDLE_NAME} in der plist-Datei. Sie sollten in der Lage sein, MY_BUNDLE_NAME auf verschiedene Werte für verschiedene Ziele zu setzen.

2 Stimmen

Vielen Dank für Ihre Antwort, aber meine Situation ist nicht so einfach! Natürlich haben Sie meine Frage verstanden, aber was ich nicht gesagt habe, ist, dass ich mehrere "Ziele" der gleichen Anwendung habe, die unterschiedliche Bundle-Identifikatoren haben müssen. Ich muss also den Bundle-Identifier dynamisch konfigurieren, je nach den Build-Einstellungen, die jedes dieser Ziele hat. Zum Beispiel kann ein Ziel "My App1" als Produktname haben und ein anderes Ziel kann "My App2" als Produktname haben. Deshalb muss ich dies dynamisch tun, anstatt es hart zu kodieren.

1 Stimmen

Ah, das macht mehr Sinn! Ich habe meine Antwort geändert; ich hoffe, das ist hilfreicher!

0 Stimmen

Vielen Dank, Dean! Das wäre es für mich, und ich sehe, dass diese benutzerdefinierten Build-Einstellungen für mich auch an anderen Stellen nützlich sein werden. Danke für den Tipp!

0voto

Dileep singh Punkte 69

Die gleiche Bundle-ID sollte in Xcode und Itunnes enthalten sein:

in dieser Datei $ touch Info.plist

Bündelbezeichner (App ID Suffix) Geben Sie einen eindeutigen Bezeichner für Ihre App ID ein. Es wird empfohlen, eine Zeichenfolge im Stil eines umgekehrten Domänennamens für den Bundle Identifier-Teil der App-ID zu verwenden.

Beispiel: com.domainname.appname

0voto

Marcin S. Punkte 11686

Die akzeptierte Antwort hat bei mir nicht richtig funktioniert. Es schien den Bundle-Identifikator zu ändern, aber es brachte die ganze App durcheinander. In meinem Fall hat diese Lösung gut funktioniert: Ändern Sie den Bundle-Bezeichner in Xcode, wenn ich meine erste App in IOS einreiche

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X