I have multiple versions of Xcode installed. I can build my project against older iOS versions by launching old Xcode. But how could I use newer Xcode versions to build against older iOS versions?
In the project settings there's a Base SDK dropdown. It only offers the very latest iOS version for selection.
Under /Developer/Platforms/ there is an iOS.p开发者_JAVA百科latform folder which contains this:
SDKs/
iPhoneOS3.2.sdk
iPhoneOS4.1.sdk
And finally, there is an interesting folder called DeviceSupport, which contains a whole bunch of versions ranging from 3.0 to 4.1!
There must be a way to copy SDKs / DeviceSupport files from old Xcode to new Xcode and make the older ones like iOS 4.0 or even 3.0 working. How?
To make an application target that runs on multiple versions of iOS is relatively simple: Set the “Base SDK” in your projects settings to the newest version number of iOS whose features you may want. Set the “iPhone OS Deployment Target” to the oldest version number of iOS that you will support
you will need to install older versions of xcode since the newer simulator will only support the newer ios versions
http://developer.apple.com/library/mac/#documentation/Xcode/Conceptual/XcodeCoexistence/Contents/Resources/en.lproj/Details/Details.html
This became harder in Xcode 3.2.5 (iOS 4.2.1) as the separate "Base SDK" values for Device and Simulator are replaced with a single "iOS SDK".
See my post in Xcode/Simulator: How to run older iOS version? for details on how to access older Simulator SDK versions in this latest Xcode.
I think you should always build using the latest SDK and just set the deployment target to the appropriate version. To ensure your app runs correctly, check everything carefully on all versions and besides check the documentation if the APIs you are using have changed / removed / been deprecated in the different versions of the SDK!
精彩评论