Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Project without an .xcodeproj directory, how to open?

I'm finding a few open source projects, mostly older, that lack an .xcodeproj directory hierarchy. It seems like all other crucial files are there.

Curiously enough, I'm wondering how these projects are even accessed via Xcode? I'd like to compile them, break them, fix them etc. Is there a way to open these more legacy projects?

Here's the contents of an open source Freecell project:

$ 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     
like image 805
Coocoo4Cocoa Avatar asked Dec 23 '22 11:12

Coocoo4Cocoa


1 Answers

That was created using Project Builder, the IDE shipped by Apple (and NeXT before them) which was ultimately renamed as Xcode. The project file is Freecell.pbproj, and you ought to be able to import it into Xcode without too much trouble.

Theoretically you should be able to use File->Open and point at the .pbproj wrapper; Xcode will then presumably ask to upgrade the project, which usually involves creating a new .xcodeproj version.

like image 148
Jim Dovey Avatar answered Feb 20 '23 14:02

Jim Dovey