Skip to content

Instantly share code, notes, and snippets.

@mikeh
Forked from rnapier/fix-xcode
Last active December 23, 2015 04:29
Show Gist options
  • Save mikeh/6581064 to your computer and use it in GitHub Desktop.
Save mikeh/6581064 to your computer and use it in GitHub Desktop.
Modified to support SDKs folder in user home directory and allow Xcode destinations containing spaces (e.g. "Xcode 4.6.3.app")
#!/usr/bin/python
# fix-xcode
# Rob Napier <[email protected]>
# Modified to support SDKs folder in user home directory and allow Xcode destinations containing spaces (e.g. "Xcode 4.6.3.app")
# Mike Hatfield <[email protected]>
# 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 = os.path.expanduser("~/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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment