Skip to content
Create a gist now

Instantly share code, notes, and snippets.

Links Xcode SDKs from the /SDKs directory (which you maintain yourself)
#!/usr/bin/python
# fix-xcode
# Rob Napier <robnapier@gmail.com>
# Script to link in all your old SDKs every time you upgrade Xcode
# Create a directory called /SDKs (or modify source_path).
# Under it, put all the platform directories:
# MacOSX.platform iPhoneOS.platform iPhoneSimulator.platform
# Under those, store the SDKs:
# MacOSX10.4u.sdk MacOSX10.5.sdk MacOSX10.6.sdk MacOSX10.7.sdk MacOSX10.8.sdk
#
# After upgrading Xcode, just run fix-xcode.
import argparse
import subprocess
import os
source_path = "/SDKs"
parser = argparse.ArgumentParser()
parser.add_argument('xcodePath', help='path to Xcode', nargs='?')
args = parser.parse_args()
if args.xcodePath:
dest_path = args.xcodePath
else:
dest_path = subprocess.check_output(["xcode-select", "--print-path"]).rstrip()
if not dest_path.endswith("/Contents/Developer"):
dest_path += "/Contents/Developer"
for platform in os.listdir(source_path):
subprocess.call("sudo ln -sf %(source_path)s/%(platform)s/* %(dest_path)s/Platforms/%(platform)s/Developer/SDKs" % locals(), shell=True)
@mayoralito

+1 Thanks!

@hlung

Nice!

@Ralexyu

+1 Thanks

@link82

+1 Thank you!!

@lwburk

This is great. I currently have both 4.6.3 and 5.0 installed. I used the following to link 5.0 to the SDKs in the old version:

platforms_path="$1/Contents/Developer/Platforms";
if [ -d $platforms_path ]; then
    for platform in `ls $platforms_path`
    do
        sudo ln -sf $platforms_path/$platform/Developer/SDKs/* $(xcode-select --print-path)/Platforms/$platform/Developer/SDKs;
    done;
fi;

You just need to supply it with the path to the .app:

./xcode.sh /Applications/Xcode-463.app
@dacaiguoguogmail

ln: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS6.1.sdk/Developer/SDKs: No such file or directory
why this error?
xcode 5

@rezwits

Thanks

@enthuCoder

Sweet!! +1

@agirault

I get ld: library not found for -lcrt1.10.6.o when trying to compile using MacOSX10.6.sdk, any known solution?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.