2010-02-22 11 views
28

Angenommen, ich habe eine iPhone-Anwendung mit dem Produktnamen "Meine App" (mit einem Leerzeichen zwischen Wörtern) in XCode Build-Einstellungen. In meinem info.plist wird das Bündel als Identifikator com.mycompany.${PRODUCT_NAME:rfc1034identifier} angegebenXCode Bundle-ID-Formatierung von {PRODUCT_NAME}

Im resultierenden info.plist im Anwendungsbündel wird das Bündel als Identifikator com.mycompany.My-App gezeigt. Ich brauche es com.mycompany.MyApp. Wie ändere ich die Bundle Identifier-Einstellung, damit der Produktname so konvertiert wird, wie ich es möchte?

ps. Wenn ich den Wert ${PRODUCT_NAME:rfc1034identifier} in ${PRODUCT_NAME:identifier} ändere, lautet die resultierende Paketkennung com.mycompany.My_App. Ich muss nur das Leerzeichen im Produktnamen vollständig im Ergebnis entfernen.

Antwort

43

Einfach eingeben?

das heißt statt com.mycompany.${PRODUCT_NAME:rfc1034identifier} geben Sie einfach com.mycompany.MyApp

Wenn Sie mehr als ein Ziel haben, die unterschiedliche Bündel Namen benötigen, besteht eine Möglichkeit, es zu tun ist Ihre eigene Variable und verwenden, die statt zu erstellen.

Im Build-Menü (wählen Sie Ihr Projekt und wählen Sie Get Info), können Sie Ihre eigenen Variablen zum Projekt hinzufügen. Wenn Sie eine namens MY_BUNDLE_NAME erstellen und sie auf MyApp setzen, können Sie com.mycompany.${MY_BUNDLE_NAME} in die PLIST-Datei einfügen. Sie sollten MY_BUNDLE_NAME für unterschiedliche Ziele auf unterschiedliche Werte festlegen können.

+2

Danke 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 Bündelkennungen haben müssen. Also muss ich die Bundle-ID entsprechend den Build-Einstellungen, die jedes dieser Ziele hat, dynamisch konfigurieren. Beispiel: Ein Ziel kann "Mein App1" als Produktname und ein anderes Ziel möglicherweise "Mein App2" als Produktname haben. Deshalb muss ich das dynamisch statt hart codieren. – ravinsp

+1

Ah, das macht mehr Sinn! Ich habe meine Antwort bearbeitet; hoffe das ist hilfreicher! – deanWombourne

+0

Danke Dekan! das würde es für mich tun und ich kann sehen, dass diese benutzerdefinierten Build-Einstellungen auch für mich an anderen Orten nützlich sein werden. Danke für den Tipp! – ravinsp

0

gleichen Bündel-ID auf Xcode und itunnes sein sollte:

in dieser Datei berühren $ Info.plist

Bundle Identifier (App-ID Suffix) Geben Sie eine eindeutige Kennung für Ihre ID App. Die empfohlene Vorgehensweise besteht darin, eine umgekehrte Domänennamen-Zeichenfolge für den Bundle-ID-Teil der App-ID zu verwenden.

Beispiel: com.domainname.appname