How to turn off reopen projects on Xcode launch In Xcode 4.1 & later

user523234 picture user523234 · Aug 3, 2011 · Viewed 7.2k times · Source

In Xcode 4.1 to present (4.2.1), if I close Xcode without first closing the project, the project will be automatically reopened the next time I launch Xcode. Previously I would have gotten the Welcome Screen. Is there a way to change this so that the Welcome Screen is launched instead?

Answer

Taryn picture Taryn · Mar 30, 2012

Don't want Xcode to second guess you so much?

I found an Xcode specific fix on Daniel Tull's blog, he credited it to "Pete". The link to his blog below describes doing the same task from the Finder.

XCode stores its prior window state here when it quits:

~/Library/Saved\ Application\ State/com.apple.dt.Xcode.savedState

If you empty that folder and lock it, when you quit Xcode, it cannot write into the folder, but will simply quit gracefully. Subsequently, if you start Xcode directly, it opens nothing; Double clicking on a project file will open ONLY that project. It's exactly the behavior i want, and other apps will still obey the 'Restore windows when quitting and re-opening apps' General Preference.

I assume this trick would work selectively for other apps which use the "Saved Application State" folder, though some might complain if they can't write their state on the way out. You can probably accomplish this using unix permissions as well, but I only tested it using HFS locking on Lion with Xcode432.

Here are shell commands to this all in one go, set to be verbose and timid while doing so. You can just paste the whole block into a command terminal. This should work fine even if Xcode is running, but since Xcode4 swoons away on the flimsiest excuse, it's probably better to quit it first.

#----------
#show the current contents:
ls -al ~/Library/Saved\ Application\ State/com.apple.dt.Xcode.savedState/*
#just in case, unlock the folder, using the HFS-specific lock mechanism:
chflags -vv nouchg ~/Library/Saved\ Application\ State/com.apple.dt.Xcode.savedState
#Empty the folder, asking for permission on each file (type 'y', then <enter> for each)
rm -ivd ~/Library/Saved\ Application\ State/com.apple.dt.Xcode.savedState/*
# Finally lock the folder so Xcode can't save its window state in the future:
chflags -vv uchg ~/Library/Saved\ Application\ State/com.apple.dt.Xcode.savedState
# ----------

http://danieltull.co.uk/blog/2011/11/07/preventing-xcode-4-on-lion-reopening-windows/