Using the App Store to download and install Xcode updates is very convenient, especially since it can often download delta updates which are much smaller than redownloading the entire installer from Apple’s developer site. I’ve seen many people run into an issue when doing this though, where after you update Xcode, the App Store continues to insist that Xcode needs to be updated again, to the same version, and will happily let you download and install Xcode a second time.
The most common reason for this is that developers will often want to keep old versions of Xcode around, e.g. if you are not ready to move to the new version of Xcode full time for doing production builds, and need to keep the old version around for a while. However, the App Store app is rather aggressive when it comes to finding apps that need updating, so if you have another version of Xcode laying around, it will find that old version and say “Hey, this needs updating!” even if the main copy in your Applications folder has already been updated. Needless to say, this is rather annoying, especially if you only discover it after it’s blown away an old version of Xcode that you wanted to keep.
The mechanism it uses to do this is our old friend, Spotlight. If Spotlight can find an old version of Xcode, the App Store will happily update it. So, the trick you can use to prevent the App Store from doing so is to hide your old version(s) of Xcode from Spotlight.
The way I do that is to create a new folder where I put any old versions of Xcode that I want to have around. Then, open System Preferences and go to the Spotlight pane. In the Privacy section, you can then add that folder to the list of folders Spotlight should ignore. For me at least, that does the trick, and keeps the App Store from mucking around with my old Xcodes.
Note that this same trick should work for any App Store app that you want to keep around multiple versions of, not just Xcode.