Die schnelle Antwort lautet: Ja, wir können!
Bevor ich zum Teil " Wie es gemacht wird " komme , hier einige Hinweise zu meinem Patch / Hack / Fix. Die Hauptziele waren von Anfang an:
Halten Sie alle Änderungen auf ein absolutes Minimum.
Wir möchten die Xcode-Setups so original wie möglich halten.
Vermeiden Sie auf jeden Fall das Patchen oder Ändern von Dateien.
Wir möchten, dass alle Dateien unberührt bleiben und ihren ursprünglichen Inhalt behalten.
Vermeiden Sie das Verschieben oder Kopieren von Dateien, es sei denn, dies ist unbedingt erforderlich.
Ich konnte all diese Ziele halten. Fast alles wird durch das Erstellen von Symlinks erledigt. Es musste nur ein einziger vorhandener Symlink ersetzt werden, und wir werden ihn vor dem Austausch sichern, nur für den Fall.
Wenn Sie kein Experte für Terminaloperationen sind, empfehle ich Ihnen dringend, alle Terminalbefehle aus meiner Antwort auf Ihr Terminal zu kopieren / einzufügen, um Tippfehler zu vermeiden. Denken Sie daran, dass auch Abstände, Anführungszeichen und insbesondere Groß- und Kleinschreibung wichtig sein können. Kopieren Sie sie Zeile für Zeile, fügen Sie sie nicht mehr als eine Zeile gleichzeitig ein und drücken Sie nach jeder eingefügten Zeile die Eingabetaste, um den Befehl auszuführen. Sollte Sie bei einem Vorgang jemals zur Eingabe eines Kennworts aufgefordert werden, ist dies das Kennwort des aktuell angemeldeten Administratorbenutzers (Ihre Tastenanschläge werden während der Eingabe nicht angezeigt. Dies ist normal. Machen Sie sich keine Sorgen, geben Sie das Kennwort einfach weiter ein und drücken Sie die Eingabetaste -Versuchen Sie, ob Sie einen Tippfehler hatten und erneut aufgefordert werden).
Voraussetzung
Bevor wir beginnen können, stellen Sie sicher, dass die folgenden Bedingungen erfüllt sind:
- Sie sind als Administrator angemeldet.
- Sie haben Terminal.app (Anwendungen / Dienstprogramme) gestartet und ein Terminalfenster ist geöffnet.
- Sie haben eine Kopie des Xcode3- (z. B. 3.2.5) und Xcode4-Disk-Images (DMG) oder des Installationsprogramms zur Verfügung.
- Wenn Sie bereits eine der Xcode-Versionen installiert haben, sollten Sie diese zuerst deinstallieren , damit Sie mit einem neuen / sauberen Setup beginnen können. Durch die Deinstallation von Xcode werden Ihre Einstellungen, Farbschemata oder Anpassungen der Schlüsselbindung nicht entfernt. Idealerweise beginnen Sie mit einem System, auf dem derzeit keine Xcode-Version (weder 3 noch 4) installiert ist.
Schritt 1: Installieren von Xcode3
Wichtig : Installieren Sie nicht " System Tools " oder " Unix Development" Paket " von Xcode3.
Ob Sie " Mac OS X 10.4 SDK " und / oder " Dokumentation " installieren möchten, liegt bei Ihnen. Wenn dies ein Xcode3 mit iOS-SDKs ist, liegt es auch an Ihnen, ob Sie diese installieren oder nicht.
Sie können einen beliebigen Zielordner für Ihre Installation auswählen. Für diese Anleitung habe ich " / Xcode3 " gewählt, kann aber auch eine andere auswählen. Stellen Sie einfach sicher, dass Sie alle Terminalbefehle entsprechend ändern.
Die Reihenfolge der hier angegebenen Schritte ist normalerweise nicht wirklich wichtig, aber ich rate Ihnen dringend, Schritt 1 und Schritt 2 nicht auszutauschen. Xcode installiert immer ein paar Dateien außerhalb des ausgewählten Zielordners und vertraut mir, am Ende möchten Sie das Xcode4-Versionen dieser Dateien auf Ihrer Festplatte. Wenn Sie Xcode3 vor Xcode4 installieren, können Sie sicher sein, dass Xcode4 diese Dateien bei Bedarf überschreibt. Ich habe einmal die Schritte 1 und 2 getauscht und am Ende hatte ich einige ziemlich seltsame Probleme, die möglicherweise mit der falschen Reihenfolge zusammenhängen (ich kann nicht sicher sagen, aber nach der Neuinstallation in der richtigen Reihenfolge waren die Probleme verschwunden).
Schritt 2: Installieren von Xcode4
Wählen Sie alle Pakete, die Sie mögen. Installieren von " System Tools " ist ratsam, aber nicht unbedingt erforderlich (obwohl die meisten Benutzer diese Funktionalität früher oder später vermissen werden).
Sie können auch hier einen beliebigen Zielordner auswählen. Für diese Anleitung habe ich den normalen Zielordner " / Developer" ausgewählt " ausgewählt. Wenn Sie einen anderen verwenden, ändern Sie alle Terminalbefehle entsprechend.
Schritt 3: Wiederherstellen der 10.4 / 10.5 SDK-Unterstützung
Wechseln Sie zu Ihrem Terminalfenster und führen Sie die folgenden Befehle aus:
CD / Entwickler / SDKs
sudo ln -s /Xcode3/SDKs/MacOSX10.4u.sdk.
sudo ln -s /Xcode3/SDKs/MacOSX10.5.sdk.
Führen Sie den Befehl für 10.4u natürlich nur aus, wenn Sie in Schritt 1 auch SDK 10.4 installiert haben.
Dies reicht aus, um die SDKs 10.5 (und möglicherweise 10.4) wieder in die Auswahlliste in Xcode4 aufzunehmen. Probieren Sie es aus, wenn Sie möchten. Starten Sie Xcode4, öffnen Sie ein Projekt und versuchen Sie, das ausgewählte SDK zu ändern. Das war einfach, oder? Stellen Sie sicher, dass Sie Xcode4 erneut schließen (die Anwendung, nicht nur das Fenster), bevor Sie mit dem nächsten Schritt fortfahren.
Schritt 4: Wiederherstellen der GCC 4.0-Unterstützung
Wenn Sie das MacOS 10.4 SDK nicht installiert haben oder nicht vorhaben, es jemals zu verwenden, können Sie diesen Schritt sicher überspringen und mit Schritt 5 fortfahren.
Um SDK 10.4 verwenden zu können, müssen Sie GCC 4.0 verwenden. GCC 4.2 funktioniert nicht. Apple behauptet, dass GCC 4.2 nicht mit SDK 10.4 kompatibel ist. Wenn Sie mich fragen, ist dies ein Scherz. Ich habe diese Einschränkungen bereits mehr als einmal überschrieben und es gab nie das kleinste Problem. Es wäre einfach, SDK 10.4 so zu ändern, dass Sie mit Xcode GCC 4.2 verwenden können. Mein Ziel war es jedoch, alle Dateimodifikationen zu vermeiden. Deshalb fügen wir Xcode einfach wieder GCC 4.0-Unterstützung hinzu, was auch eine gute Sache ist Einige Projekte hängen wirklich von GCC 4.0 ab (z. B. gibt es einige Fehler in GCC 4.2, die verhindern, dass gültiger Inline-Assemblycode fehlerfrei kompiliert wird, während derselbe Code fehlerfrei auf GCC 4.0 und GCC 4.4 kompiliert wird).
Zurück zum Terminal:
cd / Developer / usr / bin
sudo ln -s /Xcode3/usr/bin/*4.0*.
cd / Developer / usr / libexec / gcc / powerpc-apple-darwin10
sudo ln -s /Xcode3/usr/libexec/gcc/powerpc-apple-darwin10/4.0.1.
Derzeit haben wir die vollständige GCC 4.0-Unterstützung wiederhergestellt, mit der Ausnahme, dass GCC 4.0 in Xcode4 immer noch nicht auswählbar ist. Dies liegt daran, dass Xcode4 kein GCC 4.0-Compiler-Plug-In mehr hat. Glücklicherweise funktioniert das Xcode3-Plug-In auch in Xcode4, nur die Position hat sich radikal geändert. Apple versteckt diese Plug-Ins jetzt tief in einem Bundle und nur die dort enthaltenen Plug-Ins scheinen zu funktionieren. Das Platzieren an ihrer alten Position scheint keine Auswirkung zu haben.
cd / Developer / Library / Xcode / PrivatePlugIns
cd Xcode3Core.ideplugin / Inhalt / SharedSupport / Entwickler / Bibliothek / Xcode / Plug-Ins
sudo ln -s "/ Xcode3 / Bibliothek / Xcode / Plug-Ins / GCC 4.0.xcplugin".
Starten Sie nun Xcode4 erneut, öffnen Sie ein Projekt und versuchen Sie, den Compiler auszuwählen. Sie sollten GCC 4.0 wieder auf der Liste haben. Jetzt können Sie tatsächlich bereits SDK 10.4 oder 10.5, GCC 4.0 auswählen, und Sie sollten kein Problem damit haben, eine PPC-Binärdatei zu erstellen. Wählen Sie einfach " Andere ... " für die Build-Einstellung " Architektur " und geben Sie " ppc " manuell ein. Ändern Sie dann " Gültige Architekturen ", um auch " ppc " einzuschließen. ppc " einzuschließen . Wir sind fast fertig, außer dass der Versuch, eine PPC-Binärdatei mit GCC 4.2 und SDK 10.5 zu erstellen, immer noch fehlschlägt.
Schritt 5: Wiederherstellen der PPC-Unterstützung für GCC 4.2
Da Apple nur Intel-Plattformen in Xcode4 unterstützt, wurden nicht alle GCC 4.2-Tools mit PPC-Unterstützung erstellt. Es gibt ein wichtiges Tool, das keine PPC-Unterstützung bietet. Das Tool heißt " as " und ist der GNU Assembler. Um ppc / ppc64-Binärdateien mit GCC 4.2 zu kompilieren, müssen wir ein " as " verwenden " -Version mit ppc / ppc64-Unterstützung verwenden. Dies ist die einzige Datei (eigentlich auch ein Symlink), die wir zuerst beiseite schieben müssen (eine Sicherungskopie erstellen), bevor wir sie durch einen Symlink ersetzen können:
cd /Developer/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1
sudo mv as as.bak
sudo ln -s / Xcode3 / usr / bin / as.
Schritt 6: Es gibt keinen Schritt 6
Das war's Leute. Wenn man bedenkt, wie einfach das war, kann man sich vorstellen, dass Apple die Unterstützung für SDK 10.4 / 10.5 oder ppc / ppc64 oder GCC 4.0 sicherlich nicht eingestellt hat, weil dies eine Notwendigkeit war. Sie haben all das eingestellt, weil sie es fallen lassen wollten.
Ich hoffe, dass dieses Setup für Sie genauso gut funktioniert wie für mich. Ich konnte alle meine alten Projekte in Xcode4 ohne größere Änderungen kompilieren, außer dass ich hier und da einen Suchpfad ändern musste.
PS:
Es mag seltsam aussehen, dass ich hier meine eigene Frage beantworte, aber da ich herausgefunden habe, wie ich dieses Problem alleine lösen kann, möchte ich mein Wissen mit der Community teilen, da ich glaube, dass dies ein wirklich wertvoller Beitrag ist Alle MacOS-Entwickler da draußen. Diese Frage wurde so oft an so vielen Orten gestellt, und bisher habe ich noch nie jemanden gesehen, der eine ähnliche Lösung gefunden hat. Teilen Sie den Reichtum, verbreiten Sie das Wissen und so weiter, Sie wissen, was ich meine.
Wenn Sie noch Probleme haben:
Wenn Sie weitere Fragen zu diesem Thema haben oder immer noch Probleme haben, Ihre alten Projekte korrekt zu erstellen, tun Sie bitte das, wofür der Stapelüberlauf entwickelt wurde: Klicken Sie oben rechts auf dieser Seite auf "Frage stellen" und erstellen Sie eine neue Frage . Auf diese Weise kann die gesamte Community Ihnen bei der Lösung dieser Probleme helfen, da die Probleme möglicherweise nicht direkt (möglicherweise nicht einmal indirekt) mit diesem Hack zusammenhängen.
Ich würde Ihnen empfehlen, die Tatsache zu erwähnen, dass Sie diesen Hack ganz am Anfang Ihrer Frage angewendet haben. Vielleicht möchten Sie sogar direkt auf diese Frage verweisen, damit Leute, die noch nie von diesem Hack gehört haben, ihn leicht nachschlagen können. Andernfalls werden die meisten Leute ziemlich verwirrt sein, wenn Sie SDK 10.4 / 10.5, PPC oder GCC 4.0 in Kombination mit Xcode4 erwähnen, das offiziell keines von beiden unterstützt. Wenn Sie vergessen, diesen Hack zu erwähnen, erhalten Sie möglicherweise eher dumme Kommentare anstelle anständiger Antworten.
Bitte veröffentlichen Sie Ihre Fragen oder Probleme hier nicht als Antworten oder als Kommentare. Das Posten als Antworten macht keinen Sinn, da es sich nicht um Antworten handelt und es keine Möglichkeit gibt, wie Personen auf Sie antworten können, außer Kommentare zu verwenden, und Kommentare bieten möglicherweise nicht genügend Platz für eine anständige Antwort auf Ihre Frage oder eine anständige Lösung für Ihre Frage Problem. Wenn Sie sie als Kommentare veröffentlichen, sind Sie auf sehr wenig Platz beschränkt, und das Verfolgen von Antwortkommentaren ist schwierig, da Kommentare keine baumartige Hierarchie aufweisen (außerdem bieten sie immer noch wenig Platz für anständige Antworten / Lösungen). Danke dir.
Natürlich sind auch andere Kommentare sowie bessere Antworten auf die ursprüngliche Frage immer willkommen ;-)