Reputation: 11319
You come at a certain point in the development of every app that what you see in the simulator does not match what you think should happen. Mostly these are human errors -- or at least they are in most of my cases ;-) -- but sometimes Xcode has just 'lost track', or so it seems. I've learnt that the Clean
(Shift+Cmd+K) and Clean Build Folder…
(Option+Shift+Command+K) menu options can show the difference between your error or Xcode's.
My question though is:
What does the
Clean
command do or not do, which leaves a reason forClean Build Folder…
to exist? When should I pick one over the other, why not just always clean the whole folder?
Upvotes: 91
Views: 52968
Reputation: 281
As of Xcode 10, 'Clean' has effectively disappeared. Apple says here:
"The new build system uses the "clean build folder" behavior. The legacy "clean" behavior is not supported".
Upvotes: 13
Reputation: 5162
Some files at ~/Library/Developer/Xcode/DerivedData/xxx-ABCD
, where xxx is the name of your project or workspace, have been deleted after you Clean
or Clean Build Folder...
. Obviously, Clean Build Folder...
will delete more files than Clean
will do. However, I think deletion of the folder that I mentioned before is needed in some case, such as your Xcode cannot work properly.
By the way, something has changed for Xcode 8, Build
folder is kept all the same after Clean Build Folder...
Upvotes: 0
Reputation: 439
If you select "Clean", Xcode will delete files inside every folder(e.g., Products, Intermediates) in the Build folder, for the current target. Files for other targets remain.
If you select "Clean Build Folder", Xcode will delete the entire Build Folder, so nothing left.
In most cases "Clean" will work for "unknown" reasons, but you still have to "Clean the Build Folder" because Xcode won't delete files in the include folder inside Products folder.
Upvotes: 4
Reputation: 23510
Clean…
cleans the folders for the current selected target.
Clean Build Folder…
cleans the folders for all the targets.
Upvotes: 97
Reputation: 2992
If you select Clean
from the Product menu, XCode will delete the files inside every folder in the Build folder, if you select Clean Build Folder
it will delete the entire Build folder.
After Clean
command:
After Clean Build Folder
command:
I think you should select Clean Build Folder
when you want to build a binary that you want to release to the AppStore, when you messed up with your project or when your app doesn't work for an "unknown" reason, otherwise use Clean
.
I hope I've answered your question :D
Upvotes: 100