I am using a TM Project because I need to set a few project-local variables. Projects files, “.tmproj”s, are serialized to a single xml file, and included is information about window settings (position, size, drawer open?). For example, when you move the project window, your VCS will mark it as changed. This is very annoying.
Xcode solves this problems my separating the “project” and the project window settings, all contained inside a directory/
XcodeProject.xcodeproj/ project.pbxproj <----- The _real_ project file. myusername.mode1 <---- other stuff. myusername.pbxuser <---- more stuff.