When Apple pushed out the iOS 4.2.1 update last week I did not bother to download it and install it on any of my test devices. I had already installed the 4.2 GM seed for testing so when it went live yesterday I let iTunes update one of my devices to 4.2.1 without any further thought.
Today when I ran Xcode, I still had the device running 4.2.1 connected and the Xcode Organizer popped up a warning window with the message “Unknown iOS detected". The detailed error message indicated that Xcode did not have the debugging data for 4.2.1 and offered to collect it from the device for me:
Xcode does not have debugging information for the version of iOS on the device named “Dev iPod Touch”. Xcode can collect debugging data from the device to enable development with this version of iOS. This process only needs to be done once per iOS version, and will take several minutes.
I hit the Collect button and as promised Xcode took about five minutes to download and process the data from the device.
Researching this a bit more it seems that Xcode just needed to download the 4.2.1 symbol data from the device since it only had the data for 4.2. I don’t know if this is a new capability in Xcode but it looks like a nice way to avoid having to download a new iOS image each time Apple makes a minor bug fix.