• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

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.
 
Xcode Version? Kannst Du das Projekt hochladen, oder auch nur die project.pbxproj Datei?

Alex
 
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
 
Habe das gerade mal getestet: Unter XCode 3.2 habe ich test.app UND test8.app...
 
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
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.
 
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 ;) )
 
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
 
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
 
(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.
 
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
 
Hmmm, dann scheint das ja doch System zu haben.... kleines i, grosses x.

Na ja, bei Apple ist eben alles voll durchgestylt :-)
 
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 !
 
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
 
Kostet einen Promotional Code wenn das Ding im Laden ist ;-)

Ne quatsch, gern geschehn.
 
gerne. In 3 Wochen solls soweit sein. Dachte aber Promocodes gibts nur in den USA ?!?
 
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!!