2009-05-12 5 views
4

Ich finde ein paar Open-Source-Projekte, meist ältere, die keine .xcodeproj Verzeichnishierarchie haben. Es scheint, als ob alle anderen wichtigen Dateien vorhanden sind.Projekt ohne .xcodeproj Verzeichnis, wie zu öffnen?

Seltsamerweise frage ich mich, wie diese Projekte sogar über Xcode zugegriffen werden? Ich möchte sie zusammenstellen, sie brechen, sie reparieren usw. Gibt es eine Möglichkeit, diese älteren Projekte zu öffnen?

Hier ist der Inhalt eines Open-Source-Projekt Cell:

$ find . -type f 
./.DS_Store 
./Card.h 
./Card.m 
./Cards/bonded.png 
./Cards/large-bonded.png 
./Cards/unedited-bonded.png 
./CardView.h 
./CardView.m 
./Dutch.lproj/Credits.html 
./Dutch.lproj/Help/Freecell.html 
./Dutch.lproj/Help/game.html 
./Dutch.lproj/Help/game.jpg 
./Dutch.lproj/Help/game.png 
./Dutch.lproj/Help/Help idx 
./Dutch.lproj/Help/history.html 
./Dutch.lproj/Help/history.jpg 
./Dutch.lproj/Help/history.png 
./Dutch.lproj/Help/links.html 
./Dutch.lproj/Help/logo.png 
./Dutch.lproj/Help/logos.png 
./Dutch.lproj/Help/move-end.jpg 
./Dutch.lproj/Help/move-end.png 
./Dutch.lproj/Help/move-start.jpg 
./Dutch.lproj/Help/move-start.png 
./Dutch.lproj/Help/play.html 
./Dutch.lproj/Help/preferences.html 
./Dutch.lproj/Help/preferences.jpg 
./Dutch.lproj/Help/preferences.png 
./Dutch.lproj/Help/tips.html 
./Dutch.lproj/InfoPlist.strings 
./Dutch.lproj/Localizable.strings 
./Dutch.lproj/MainMenu.nib/classes.nib 
./Dutch.lproj/MainMenu.nib/Freecell.tiff 
./Dutch.lproj/MainMenu.nib/info.nib 
./Dutch.lproj/MainMenu.nib/objects.nib 
./English.lproj/Credits.html 
./English.lproj/Help/Freecell.html 
./English.lproj/Help/game.html 
./English.lproj/Help/game.png 
./English.lproj/Help/Help idx 
./English.lproj/Help/history.html 
./English.lproj/Help/history.png 
./English.lproj/Help/links.html 
./English.lproj/Help/logo.png 
./English.lproj/Help/logos.png 
./English.lproj/Help/move-end.png 
./English.lproj/Help/move-start.png 
./English.lproj/Help/play.html 
./English.lproj/Help/preferences.html 
./English.lproj/Help/preferences.png 
./English.lproj/Help/tips.html 
./English.lproj/InfoPlist.strings 
./English.lproj/Localizable.strings 
./English.lproj/MainMenu.nib/classes.nib 
./English.lproj/MainMenu.nib/info.nib 
./English.lproj/MainMenu.nib/keyedobjects.nib 
./Finnish.lproj/Credits.html 
./Finnish.lproj/Help/Freecell.html 
./Finnish.lproj/Help/game.html 
./Finnish.lproj/Help/game.png 
./Finnish.lproj/Help/Help idx 
./Finnish.lproj/Help/history.html 
./Finnish.lproj/Help/history.png 
./Finnish.lproj/Help/links.html 
./Finnish.lproj/Help/logo.png 
./Finnish.lproj/Help/logos.png 
./Finnish.lproj/Help/move-end.png 
./Finnish.lproj/Help/move-start.png 
./Finnish.lproj/Help/play.html 
./Finnish.lproj/Help/preferences.html 
./Finnish.lproj/Help/preferences.png 
./Finnish.lproj/Help/tips.html 
./Finnish.lproj/InfoPlist.strings 
./Finnish.lproj/Localizable.strings 
./Finnish.lproj/MainMenu.nib/classes.nib 
./Finnish.lproj/MainMenu.nib/info.nib 
./Finnish.lproj/MainMenu.nib/keyedobjects.nib 
./Freecell.icns 
./Freecell.pbproj/alisdair.mode1 
./Freecell.pbproj/alisdair.pbxuser 
./Freecell.pbproj/project.pbxproj 
./Freecell_Prefix.h 
./French.lproj/.typeAttributes.dict 
./French.lproj/Credits.html 
./French.lproj/Help/Freecell.html 
./French.lproj/Help/game.html 
./French.lproj/Help/game.png 
./French.lproj/Help/Help idx 
./French.lproj/Help/history.html 
./French.lproj/Help/history.png 
./French.lproj/Help/links.html 
./French.lproj/Help/logo.png 
./French.lproj/Help/logos.png 
./French.lproj/Help/move-end.png 
./French.lproj/Help/move-start.png 
./French.lproj/Help/play.html 
./French.lproj/Help/preferences.html 
./French.lproj/Help/preferences.png 
./French.lproj/Help/tips.html 
./French.lproj/InfoPlist.strings 
./French.lproj/Localizable.strings 
./French.lproj/MainMenu.nib/classes.nib 
./French.lproj/MainMenu.nib/info.nib 
./French.lproj/MainMenu.nib/objects.nib 
./Game.h 
./Game.m 
./GameController.h 
./GameController.m 
./GameView.h 
./GameView.m 
./History.h 
./History.m 
./HistoryController.h 
./HistoryController.m 
./Japanese.lproj/Credits.html 
./Japanese.lproj/Credits.rtf 
./Japanese.lproj/Help/Freecell.html 
./Japanese.lproj/Help/game.html 
./Japanese.lproj/Help/game.png 
./Japanese.lproj/Help/Help idx 
./Japanese.lproj/Help/history.html 
./Japanese.lproj/Help/history.png 
./Japanese.lproj/Help/links.html 
./Japanese.lproj/Help/logo.png 
./Japanese.lproj/Help/logos.png 
./Japanese.lproj/Help/move-end.png 
./Japanese.lproj/Help/move-start.png 
./Japanese.lproj/Help/play.html 
./Japanese.lproj/Help/preferences.html 
./Japanese.lproj/Help/preferences.png 
./Japanese.lproj/Help/tips.html 
./Japanese.lproj/InfoPlist.strings 
./Japanese.lproj/Localizable.strings 
./Japanese.lproj/MainMenu.nib/classes.nib 
./Japanese.lproj/MainMenu.nib/Freecell.tiff 
./Japanese.lproj/MainMenu.nib/info.nib 
./Japanese.lproj/MainMenu.nib/objects.nib 
./Licence.rtf 
./main.m 
./PreferencesController.h 
./PreferencesController.m 
./Result.h 
./Result.m 
./Spanish.lproj/Credits.html 
./Spanish.lproj/Credits.rtf 
./Spanish.lproj/Help/Freecell.html 
./Spanish.lproj/Help/game.html 
./Spanish.lproj/Help/game.png 
./Spanish.lproj/Help/Help idx 
./Spanish.lproj/Help/history.html 
./Spanish.lproj/Help/history.png 
./Spanish.lproj/Help/links.html 
./Spanish.lproj/Help/logo.png 
./Spanish.lproj/Help/logos.png 
./Spanish.lproj/Help/move-end.png 
./Spanish.lproj/Help/move-start.png 
./Spanish.lproj/Help/play.html 
./Spanish.lproj/Help/preferences.html 
./Spanish.lproj/Help/preferences.png 
./Spanish.lproj/Help/tips.html 
./Spanish.lproj/InfoPlist.strings 
./Spanish.lproj/Localizable.strings 
./Spanish.lproj/MainMenu.nib/classes.nib 
./Spanish.lproj/MainMenu.nib/Freecell.tiff 
./Spanish.lproj/MainMenu.nib/info.nib 
./Spanish.lproj/MainMenu.nib/objects.nib 
./Table.h 
./Table.m 
./TableLocation.h 
./TableLocation.m 
./TableMove.h 
./TableMove.m 
./vccRand.c 
./vccRand.h  

Antwort

10

, die erstellt wurde Project Builder, die IDE ausgeliefert von Apple (und NeXT vor ihnen), die letztlich als Xcode umbenannt wurde. Die Projektdatei ist Freecell.pbproj, und Sie sollten in der Lage sein, es in Xcode ohne große Probleme zu importieren.

Theoretisch sollten Sie in der Lage sein, Datei-> Öffnen zu verwenden und auf den .pbproj-Wrapper zu zeigen; Xcode wird dann vermutlich um ein Upgrade des Projekts bitten, das normalerweise die Erstellung einer neuen .xcodeproj-Version beinhaltet.

+1

die Ordner zuerst (nicht Xcodeproj) wesentlich dazu beigetragen .xcode Umbenennung. Das hat den Trick gemacht. – Coocoo4Cocoa

+2

Xcode 3 offiziell nicht unterstützt Project Builder Projekte aktualisieren. Xcode 2.5 (verfügbar unter http://connect.apple.com/, kann neben Xcode 3 installiert werden). –

1

Ich schlage eine andere Methode vor (sie hat mir geholfen, vielleicht hilft sie auch jemandem). Die Methode folgt (unter der Annahme, dass Xcode3.0 installiert ist):
1) Umbenennen von .pbproj in .xcode 2) Wechseln Sie mit dem muCommander (http://www.mucommander.com/index.php#download) zum Ordner .xcode. Im Ordner finden Sie 3 Dateien. * .mode1, * .pdxuser, * .pbxproj (wobei * ein Benutzername ist).
3) ersetzen nun die * .mode1 und * .pbxuser Benutzernamen mit Ihnen gegeben
(ex. Johndow.mode1 bis myusername.mode1)
4) danach ersetzen .mode1 mit .mode1v3 (ex. Myusername.mode1 zu myusername.mode1v3)
5) wähle myusername.pbxproj und klicke auf View [F3] (in der unteren linken Ecke des mnCommander-Bildschirms) und suche nach diesen Zeilen (die obersten Zeilen):
archiveVersion = 1;
Klassen = {
};
objectVersion = 39;
objects = {
Ersetzen Sie 39 durch 44 (die Anzahl hängt von der installierten Xcode-Version ab; Sie können Ihre herausfinden, indem Sie ein neues Projekt erstellen und die gleichen Zeilen in der * .pbxproj) finden. Schließen und speichern Sie das bearbeitete Dokument.
Das ist alles! Versuchen Sie nun, das Projekt mit Xcode zu öffnen.

Einige optionale Schritte. Muss genommen werden, nachdem Sie das Projekt mit Xcode geöffnet und geschlossen haben (nachdem Sie den vorherigen Abschnitt abgeschlossen haben).
6) noch im selben Dokument nach unten scrollen und suchen Sie diese Zeilen:
CFBundleShortVersionString
0.5.0
CFBundleSignature
????
CFBundleVersion
0.5.0
Ersetzen Sie 0.5.0 bis 1.0.23 oder eine andere Zahl von 1.0.0. Die Nummer entspricht Ihrer Produktversion.
7) lokalisieren nun diese Linien:
OSBundleLibraries

com.apple.iokit.IOPCIFamily
1,4
com.apple.iokit.IOStorageFamily
1.3
com.apple.kernel.iokit
1.1
Ersetzen Sie jeden anynumber die Anzahl Version auf Ihrem System installiert ist. Sie können die Version, indem Sie in "kextfind -bundle-id com.apple.iokit.IOPCIFamily" herauszufinden (wo com.apple. .. * Ist der Schlüssel Sie suchen) im Terminal und hiting eingeben.
Sie somthing wie diese:
/System/Library/Extensions/IOPCIFamily.kext
nun die Zeile, die Sie in der muCommander Standorten bar erhalten kopieren. Wählen Sie version.plist und drücken Sie Ansicht [F3] -Taste. Suchen Sie die Nummer in:
CFBundleVersion
2.6
Diese Nummer ist, was Sie gesucht haben.
8), wo die "MODULE_VERSION = 0,5;" -Linie (es müssen mehrere Instanzen sein). Ersetzen 0,5 mit 1,0 wobei 0,5 ist eine erste zwei Ziffern von 0.5.0 (1.0.23)
9), wo die „compatibilityVersion =‚Xcode 2.5‘;“ -Zeile und ersetzen die „2.5“ und „3.0“ (das ist die ist Xcode-Version)
Das Ende.