You can put additional SDKs/Symbols for the iPhoneOS/iPhoneSimulator platforms inside:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/[insert ios version folder here]
and
/Developer/Platforms/iPhoneOS.platform/DeviceSupport/[insert ios version folder here]
What I do is download old xcode and new beta xcode, install them to something like /Developer-3.2.3/, then symlink/alias the folders above from the /Developer-3.2.3 to the /Developer.
This lets my 4.1 xcode test on an iOS5.0 phone! The directory paths above might not be exact as I am writing this from my phone but they areaomething close to that. When I get back to my computer I will make sure those directories are correct.
For the simulator versions it would be:
/Developer/Platforms/iPhoneSimulator.platform/SDK/...
Edit (back at my computer):
Here is what my Developer directories looks like:
[ 17:49 root@MacBookPro / ]# ll drwxrwxr-x+ 44 root admin 1.5K Sep 20 12:37 Applications drwxrwxr-x 15 root admin 510B Sep 20 13:27 Developer drwxrwxr-x@ 17 root admin 578B Sep 20 13:12 Developer-3.2.4 drwxr-xr-x@ 10 root admin 340B Sep 20 13:54 Developer-3.2.5 drwxrwxr-x@ 18 root admin 612B Sep 20 13:44 Developer-4.2-beta7 [ 17:46 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/Developer/SDKs ]# ll lrwxr-xr-x 1 root wheel 75B Sep 20 13:53 iPhoneOS3.2.sdk -> /Developer-3.2.4/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk drwxr-xr-x 8 root wheel 272B Sep 20 13:26 iPhoneOS4.3.sdk lrwxr-xr-x 1 root wheel 79B Sep 21 12:50 iPhoneOS5.0.sdk -> /Developer-4.2-beta7/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk [ 17:46 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/Developer ]# cd ../../DeviceSupport/ [ 17:46 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/DeviceSupport ]# ll drwxrwxr-x 5 root admin 170B Sep 20 13:26 3.0 drwxrwxr-x 5 root admin 170B Sep 20 13:26 3.1 drwxrwxr-x 5 root admin 170B Sep 20 13:26 3.1.2 drwxrwxr-x 5 root admin 170B Sep 20 13:26 3.1.3 drwxrwxr-x 5 root admin 170B Sep 20 13:26 3.2 drwxrwxr-x 5 root admin 170B Sep 20 13:26 3.2.1 drwxrwxr-x 5 root admin 170B Sep 20 13:26 3.2.2 drwxrwxr-x 5 root admin 170B Sep 20 13:26 4.0 drwxrwxr-x 5 root admin 170B Sep 20 13:26 4.0.1 drwxrwxr-x 5 root admin 170B Sep 20 13:26 4.0.2 drwxrwxr-x 5 root admin 170B Sep 20 13:26 4.1 drwxrwxr-x 5 root admin 170B Sep 20 13:26 4.2 drwxrwxr-x 5 root admin 170B Sep 20 13:26 4.3 lrwxr-xr-x 1 root admin 77B Sep 21 12:54 5.0 (9A5313e) -> /Developer-4.2-beta7/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A5313e)/ lrwxr-xr-x 1 root admin 13B Sep 21 12:54 Latest -> 5.0 (9A5313e) [ 17:46 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/DeviceSupport ]#
In order to do this, you need to install the different versions of Xcode that have different iOS SDKs. To achieve the above, I only installed Xcode 3.2.4, 3.2.4, 4.1, and 4.2 (beta). I use 4.1 as my main /Developer directory.
Once each Xcode is installed into seperate locations, this is how you would symlink the Symbols/SDKs directories from a non-primary Xcode install to your main install path:
/Developer/Platforms/iPhoneOS.platform/DeviceSupport [ 17:54 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/DeviceSupport ]# cd /Developer/Platforms/iPhoneOS.platform/DeviceSupport [ 17:54 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/DeviceSupport ]# ln -sf "/Developer-4.2-beta7/Platforms/iPhoneOS.platform/DeviceSupport/5.0 (9A5313e)/" "5.0 (9A5313e)" [ 17:54 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/DeviceSupport ]# cd ../Developer/SDKs [ 17:54 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/DeviceSupport ]# ln -sf "/Developer-3.2.4/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk" "iPhoneOS3.2.sdk" [ 17:54 root@MacBookPro /Developer/Platforms/iPhoneOS.platform/DeviceSupport ]# ln -sf "/Developer-4.2-beta7/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk" "iPhoneOS5.0.sdk"
After symlinking each SDK/Symbol directory in your main /Developer/Platforms/iPhoneOS.platform/DeviceSupport and /Developer/Platforms/iPhoneOS.platform/Developer/SDKs directories, open up Xcode, and you should be able to see your device and use it to test builds, etc.
Edit 2 (commands explained):
ll is an alias I made for the ls -l command:
[ 18:07 root@MacBookPro / ]# alias cd..='cd ..' cls='clear' df='/usr/local/bin/df.nawk' du='du -L' l='ls -lsG' ldir='ls -d */' ll='ls -lhG' ls='ls -G' lsdir='ls -d */' text='open -a TextWrangler' v='ls -lhG' vi='vim' vu='vim' vv='du . --max-depth=1 -L | sort -n | cut -f2 | xargs -d "\n" du -sh -L' xcode='open -a xcode'
ln (symlink) is a command to create a shortcut/alias. The (very basic) syntax is:
[ 18:07 root@MacBookPro / ]# ln -s [TARGET_PATH] [LINK_NAME]
Here is the ln man page
Here is the ls man page