XCode Problem: 2. Target erstellen

ppqq

Idared
Registriert
05.06.09
Beiträge
26
Hallo. Bin am verzweifeln.

Ich möchte eine 2. Variante eines Programms mit XCode erstellen, indem ich ein neues Target anlege. Das geht - aber nach Neustart von XCode habe ich immer unter Product 2x den Namen des ersten Targets. Das 2 ist verschwunden.

Ich dupliziere mein 1. Target und nenne es um. Dann habe ich:
myApp
myAppB

Es werden 2 Executables erzeugt:
myApp
myAppB

Nun setzte ich im 2. Target "Product Name" auf myAppB.
Daraufhin erscheinen unter Products:
myApp
myAppB


Wenn ich XCode das nächste mal starte hab ich dann unter Products nur noch
myApp
myApp


Wenn ich das 2. Target compiliere wird eine myAppB.app compiliert. Aber der Debugger sucht nur nach der myApp, weil er unter Products keine myAppB findet.
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Xcode Version? Kannst Du das Projekt hochladen, oder auch nur die project.pbxproj Datei?

Alex
 

ppqq

Idared
Registriert
05.06.09
Beiträge
26
Hallo below,

ich habe XCode 3.1.3

Ich habe eben ein neues, leeres Projekt "test" angelegt. Target dupliziert, umbenannt auf testB. Eintrag "Product Name" umbenannt auf testB. Projekt geschlossen. Neu geöffnet. In der Gruppe "Products" steht nur noch 2x test.app

Projekt gezippt (500k) und hochgeladen auf http://www.aline-gerd.de/test.zip

Siehst Du 2x test.app, wenn Du es öffnest ? oder einmal test.app, einmal testB.app ?

ppqq
 

Thaddäus

Golden Noble
Registriert
27.03.08
Beiträge
18.368
Habe das gerade mal getestet: Unter XCode 3.2 habe ich test.app UND test8.app...
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
ich habe XCode 3.1.3
OK, ich habe Xcode 3.2. Xcode 3.1.3 müsste ich erst mal suchen ;)

Projekt gezippt (500k)
Wenn Du den build Folder nicht mitgezippt hättest, wären es nur 5% davon, nämlich 25k

Siehst Du 2x test.app, wenn Du es öffnest ?
Ja.

"One more thing...

The C language is case-sensitive. Compilers are case-sensitive. The Unix command line, ufs, and nfs file systems are case-sensitive. I'm case-sensitive too, especially about product names. The IDE is called Xcode. Big X, little c. Not XCode or xCode or X-Code. Remember that now."
-- Chris Espinosa

Alex
 

Anhänge

  • Bildschirmfoto 2009-09-12 um 14.37.00.png
    Bildschirmfoto 2009-09-12 um 14.37.00.png
    97,3 KB · Aufrufe: 160

gimmick24

Antonowka
Registriert
23.02.09
Beiträge
361
Ganz einfach:

Du klickst auf das Projekt (z.B. Test.xcodeproj) mit der rechten Maustaste.
Wählst dann "Paketinhalt anzeigen".
Nun die Datei "Test.pbxproj" doppelt anklicken.
In dem xCode Fenster, was jetzt aufgeht kannst Du mit Apfel+f suchen und ersetzten.

Das ist einfacher, als alle stellen in xCode selber um zu benennen.
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Ganz einfach:

Du klickst auf das Projekt (z.B. Test.xcodeproj) mit der rechten Maustaste.
Wählst dann "Paketinhalt anzeigen".
Nun die Datei "Test.pbxproj" doppelt anklicken.
In dem xCode Fenster, was jetzt aufgeht kannst Du mit Apfel+f suchen und ersetzten.

Das ist einfacher, als alle stellen in xCode selber um zu benennen.

Ja, aber da sollte man vorsichtig sein, wenn man nicht genau weiss, was man tut.

Das Erlaube ich in meinem Team nur, wenn es einen wirklich guten Grund dafür gibt.

Alex

(Die Datei heisst immer "projekt.pbxproj". Und es ist Xcode ;) )
 

ppqq

Idared
Registriert
05.06.09
Beiträge
26
Hallo Alex,

ok - Xcode.

Rechtsklick auf Executables->testB liefert mir:
Name: testB
Path: test.app
Full Path: .../test.app

Ich denke, da müsste testB.app stehen. Der "Chose" Button ist aber ausgegraut.

Bei Euch auch ?

Gruß, ppqq
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Full Path:

Hast Du sonst irgendwelche Settings in Deiner App, die Folder irgendwie anders einstellen?

/Users/below/dev/Xcode builds/Debug-iphonesimulator/testB.app

Alex
 

gimmick24

Antonowka
Registriert
23.02.09
Beiträge
361
(Die Datei heisst immer "projekt.pbxproj". Und es ist Xcode ;) )

Nun mal nicht kleinlich werden :p

Also wenn man 2 total verschiedene Namen hat, sollte das keine Probleme geben.

Ich habe schon viele Projekte so geklont und alle liefen danach noch.

Aber hast sicherlich recht, ein Backup sollte man schon haben.
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Nun mal nicht kleinlich werden :p
War ja nicht böse gemeint. Könte Anfänger verwirren, wenn sie "test.pbxproj" suchen. Und Chris E. aus C. legt GROSSEN Wert darauf, dass es Xcode ist ;)

Also wenn man 2 total verschiedene Namen hat, sollte das keine Probleme geben.
Ich habe schon viele Projekte so geklont und alle liefen danach noch.
Ebenfalls. Und wenn ich das Projekt hier aufmache ist ja auch alles perfekt. Was mich vermuten lässt, das er irgendwas anderes geändert hat.

Aber hast sicherlich recht, ein Backup sollte man schon haben.
Alles, was nicht in /tmp ist gehört in ein Versionskontrollsystem

Alex
 

gimmick24

Antonowka
Registriert
23.02.09
Beiträge
361
Hmmm, dann scheint das ja doch System zu haben.... kleines i, grosses x.

Na ja, bei Apple ist eben alles voll durchgestylt :)
 

ppqq

Idared
Registriert
05.06.09
Beiträge
26
ok Jungx,
das Problem ist gelöst. Jedenfalls für das Testprojekt. Jetzt muss ich nur schauen, ob ich's auch für mein eigentliches hinbekomme.

Also:
ich habe die project.pbxproj editiert. Und eine Stelle gefunden, die es ausmacht:

Code:
/* Begin XCBuildConfiguration section */

[...]

	A6979C11105BC849001E887F /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				COPY_PHASE_STRIP = NO;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = test_Prefix.pch;
				INFOPLIST_FILE = "/Users/gerdbartelt/Documents/spiel/software/test/test-Info copy.plist";
				PRODUCT_NAME = testB;
			};
			name = Debug;
		};

		A6979C12105BC849001E887F /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				COPY_PHASE_STRIP = YES;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = test_Prefix.pch;
				INFOPLIST_FILE = "/Users/gerdbartelt/Documents/spiel/software/test/test-Info copy.plist";
				PRODUCT_NAME = test[B]B[/B];
			};
			name = Release;
		};

[...]

/* End XCBuildConfiguration section */

In der Debug section war als PRODUCT_NAME testB gesetzt.
Aber nicht in der Release section. Wenn ich's dort noch manuell auf testB setzte, zeigt mir Xcode beide Versionen an.

Recht herzlichen Dank Euch !
 

ppqq

Idared
Registriert
05.06.09
Beiträge
26
Nachtrag:
Beim Editieren des Targets war die Configuration auf Active (Debug) gestellt. Ich arbeite zur Zeit auch nur in der Debugumgebung. Damit habe ich den PRODUCT_NAME auch nur für Debug umgestellt. Für Release stand er noch auf dem alten. Und damit kommt wohl Xcode nicht klar. Beides geändert. Jetzt läuft auch mein Projekt einwandfrei.

ppqq
 

gimmick24

Antonowka
Registriert
23.02.09
Beiträge
361
Kostet einen Promotional Code wenn das Ding im Laden ist ;)

Ne quatsch, gern geschehn.
 

ppqq

Idared
Registriert
05.06.09
Beiträge
26
gerne. In 3 Wochen solls soweit sein. Dachte aber Promocodes gibts nur in den USA ?!?
 

gimmick24

Antonowka
Registriert
23.02.09
Beiträge
361
3 Wochen ist im Moment unrealistisch. Nicht
wegen Dir, sondern weil die Qualitätskintrolle
zur Zeit sehr ähhh träge ist :(

Die Codes kann man nur mit einem Amerikanischen
iTunes-Account einlösen. Geht aber.

Na jedenfalls viel Erfolg wünsch ich!!