This blog post is again meant to "warn" Delphi XE2 FireMonkey for iOS developers who have not yet upgraded their iOS devices to 6. First read this post, because it may save you some time...
About 6 months ago, I managed to install the iOS 5.1 SDK (and simulators) in my old Xcode 4.2 on my Mac Mini with OS X 10.6.8 (see here). Since I did not wanted to upgrade the version of OS X (I bought a new Mac Mini with OS X Mountain Lion, but want to keep the old OS X Snow Leopard up-and-running for as long as possible).
Last week, my iPhone 4S and iPad 2 notified me that iOS 6 was available as a software upgrade. The installation of iOS 6 on my iPhone and iPad (previously running iOS 5.1) required about 1 GB of storage on the iPhone, plus about an hour to download, verify, install and reboot the device.
Xcode 4.2 now correctly identifies both devices are running Software Version 6.0, but cannot use them for deployment (since it does not support iOS 6.0) and recommended I should restore the devices to a version of the OS listed below (ranging from 5.1 all the way down to 4.0), or update to the latest version of the iOS SDK, available from http://developer.apple.com/Iphone/program/download.html (which is not helpful in our case, since it offers to download Xcode 4.5, which is not compatible with OS X 10.6.8).
Assuming we do not want to break the existing FireMonkey for iOS and FPC plugin for Xcode 4.2, we have to somehow extract the iOS 6 SDK from the Xcode 4.5 installation and add it to the Xcode 4.2 installation.
The xcode_4.5.dmg file of 1,671,716,725 bytes could be mounted on my Mac MIni, after which I could use the "Show Package Contents" option to drill down into the package.
Make sure the "old" Xcode is not running while you do this. With Xcode 4.2 installed in the /Developer directory, I copied the /Developer/Platforms/iPhoneOS.platform/Developer/SDKs directory from the Xcode 4.5 package (containing iPhoneOS6.0.sdk), as well as the /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs directory, also containing the iPhoneSimulator6.0.sdk directory, and finally from the /Developer/Platforms/iPhoneOS.platform/DeviceSupport directory the "6.0 (10A403)" directory (the 4.2, 4.3, 5.0 and 5.1 subdirectories were already part of my Xcode 4.2 installation).
I noticed a linked directory "Latest", pointing to the 5.1 (98176) in the package, and you can also link it to the 6.0 (10A403) instead of the 5.1 (98176) directory it was linking to. Right now, I have a long list of no less than 18 different iOS versions for device support. Including the 6.0, which was the main thing I cared about.
Now, starting Xcode 4.2 will show the iOS 6.0 as possible target, and it also immediately recognises my iPhone 4S and iPad 2 (running iOS 6.0) again and I can deploy iOS applications both on the iPad and the iPhone.