Skip to content

Instantly share code, notes, and snippets.

@AndroidPoet
Created June 26, 2025 06:54
Show Gist options
  • Save AndroidPoet/bd17a8e2bb3c4c47faf4a248e98583fb to your computer and use it in GitHub Desktop.
Save AndroidPoet/bd17a8e2bb3c4c47faf4a248e98583fb to your computer and use it in GitHub Desktop.
remove_xcode.sh
#!/bin/bash
# Complete Xcode Removal Script
# This script removes ALL traces of Xcode from your Mac
# Run with: chmod +x remove_xcode.sh && ./remove_xcode.sh
set -e # Exit on any error
echo "🚨 COMPLETE XCODE REMOVAL SCRIPT 🚨"
echo "This will remove ALL traces of Xcode from your Mac"
echo "Press CTRL+C to cancel, or ENTER to continue..."
read
# Function to safely remove files/directories
safe_remove() {
if [ -e "$1" ]; then
echo "Removing: $1"
sudo rm -rf "$1"
else
echo "Not found (skipping): $1"
fi
}
# Function to remove user files (no sudo needed)
safe_remove_user() {
if [ -e "$1" ]; then
echo "Removing: $1"
rm -rf "$1"
else
echo "Not found (skipping): $1"
fi
}
echo ""
echo "πŸ”₯ STEP 1: Removing Xcode Applications..."
safe_remove "/Applications/Xcode.app"
safe_remove "/Applications/Xcode-beta.app"
safe_remove "/Applications/Xcode*.app"
echo ""
echo "πŸ”₯ STEP 2: Removing Developer Tools..."
safe_remove "/Developer"
safe_remove "/Library/Developer/CommandLineTools"
safe_remove "/usr/share/xcode-select"
echo ""
echo "πŸ”₯ STEP 3: Removing User Xcode Data..."
safe_remove_user "$HOME/Library/Developer/Xcode"
safe_remove_user "$HOME/Library/Developer/CoreSimulator"
safe_remove_user "$HOME/Library/Developer/Documentation"
safe_remove_user "$HOME/Library/Developer/Shared"
safe_remove_user "$HOME/Library/Developer/Toolchains"
safe_remove_user "$HOME/Library/Developer/XCTestDevices"
safe_remove_user "$HOME/Library/Developer/iOS DeviceSupport"
safe_remove_user "$HOME/Library/Developer/watchOS DeviceSupport"
safe_remove_user "$HOME/Library/Developer/tvOS DeviceSupport"
echo ""
echo "πŸ”₯ STEP 4: Removing Xcode Caches..."
safe_remove_user "$HOME/Library/Caches/com.apple.dt.Xcode"
safe_remove_user "$HOME/Library/Caches/com.apple.dt.XcodeBuild"
safe_remove_user "$HOME/Library/Caches/com.apple.CoreSimulator"
safe_remove_user "$HOME/Library/Caches/org.llvm.clang"
safe_remove_user "$HOME/Library/Caches/org.llvm.clang.$(whoami)"
safe_remove "/Library/Caches/com.apple.dt.Xcode"
echo ""
echo "πŸ”₯ STEP 5: Removing Xcode Preferences..."
safe_remove_user "$HOME/Library/Preferences/com.apple.dt.Xcode.plist"
safe_remove_user "$HOME/Library/Preferences/com.apple.dt.XcodeBuild.plist"
safe_remove_user "$HOME/Library/Preferences/com.apple.CoreSimulator.plist"
safe_remove_user "$HOME/Library/Preferences/com.apple.dt.XCLanguageSupport.plist"
safe_remove "/Library/Preferences/com.apple.dt.Xcode.plist"
echo ""
echo "πŸ”₯ STEP 6: Removing Application Support..."
safe_remove_user "$HOME/Library/Application Support/Xcode"
safe_remove_user "$HOME/Library/Application Support/Developer"
safe_remove_user "$HOME/Library/Application Support/MobileSync"
echo ""
echo "πŸ”₯ STEP 7: Removing Saved States..."
safe_remove_user "$HOME/Library/Saved Application State/com.apple.dt.Xcode.savedState"
safe_remove_user "$HOME/Library/Saved Application State/com.apple.CoreSimulator.savedState"
echo ""
echo "πŸ”₯ STEP 8: Removing Logs..."
safe_remove_user "$HOME/Library/Logs/CoreSimulator"
safe_remove_user "$HOME/Library/Logs/DiagnosticReports/Xcode*"
safe_remove_user "$HOME/Library/Logs/DiagnosticReports/Simulator*"
echo ""
echo "πŸ”₯ STEP 9: Removing System Receipts..."
safe_remove "/System/Library/Receipts/com.apple.pkg.XcodeSystemResources.bom"
safe_remove "/System/Library/Receipts/com.apple.pkg.XcodeSystemResources.plist"
safe_remove "/System/Library/Receipts/com.apple.pkg.CLTools_Executables.bom"
safe_remove "/System/Library/Receipts/com.apple.pkg.CLTools_Executables.plist"
safe_remove "/System/Library/Receipts/com.apple.pkg.DeveloperToolsCLI.bom"
safe_remove "/System/Library/Receipts/com.apple.pkg.DeveloperToolsCLI.plist"
echo ""
echo "πŸ”₯ STEP 10: Removing Additional Developer Folders..."
safe_remove "/private/var/db/xcode_select_link"
safe_remove "/var/db/xcode_select_link"
safe_remove_user "$HOME/.lldb"
safe_remove_user "$HOME/.CFUserTextEncoding"
echo ""
echo "πŸ”₯ STEP 11: Removing iOS Simulators completely..."
safe_remove_user "$HOME/Library/Developer/CoreSimulator"
safe_remove_user "$HOME/Library/Logs/CoreSimulator"
safe_remove_user "$HOME/Library/Saved Application State/com.apple.iphonesimulator.savedState"
echo ""
echo "πŸ”₯ STEP 12: Removing Derived Data..."
safe_remove_user "$HOME/Library/Developer/Xcode/DerivedData"
echo ""
echo "πŸ”₯ STEP 13: Removing Archives..."
safe_remove_user "$HOME/Library/Developer/Xcode/Archives"
echo ""
echo "πŸ”₯ STEP 14: Removing UserData..."
safe_remove_user "$HOME/Library/Developer/Xcode/UserData"
echo ""
echo "πŸ”₯ STEP 15: Removing Swift Package Manager..."
safe_remove_user "$HOME/Library/org.swift.swiftpm"
safe_remove_user "$HOME/Library/Caches/org.swift.swiftpm"
echo ""
echo "πŸ”₯ STEP 16: Resetting xcode-select..."
echo "Resetting xcode-select path..."
sudo xcode-select --reset 2>/dev/null || echo "xcode-select reset completed"
echo ""
echo "πŸ”₯ STEP 17: Removing from PATH (if manually added)..."
# Remove Xcode paths from common shell profiles
for file in "$HOME/.bashrc" "$HOME/.bash_profile" "$HOME/.zshrc" "$HOME/.profile"; do
if [ -f "$file" ]; then
echo "Checking $file for Xcode paths..."
# Create backup
cp "$file" "$file.backup_$(date +%Y%m%d_%H%M%S)"
# Remove Xcode-related PATH entries
sed -i '' '/\/Developer\//d' "$file" 2>/dev/null || true
sed -i '' '/Xcode/d' "$file" 2>/dev/null || true
fi
done
echo ""
echo "πŸ”₯ STEP 18: Removing Keychain entries..."
echo "Removing Xcode-related keychain entries..."
security delete-generic-password -s "Xcode" 2>/dev/null || true
security delete-generic-password -s "com.apple.dt.Xcode" 2>/dev/null || true
echo ""
echo "πŸ”₯ STEP 19: Clearing Launch Services..."
echo "Rebuilding Launch Services database..."
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
echo ""
echo "πŸ”₯ STEP 20: Final cleanup..."
# Remove any remaining Xcode processes
sudo pkill -f Xcode 2>/dev/null || true
sudo pkill -f CoreSimulator 2>/dev/null || true
# Clear system caches
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder 2>/dev/null || true
echo ""
echo "βœ… VERIFICATION: Checking for remaining Xcode files..."
echo ""
# Check for remaining Xcode applications
echo "Checking Applications folder:"
ls -la /Applications/ | grep -i xcode || echo "βœ… No Xcode apps found"
echo ""
echo "Checking for remaining Developer folders:"
ls -la /Library/Developer/ 2>/dev/null || echo "βœ… No /Library/Developer found"
ls -la "$HOME/Library/Developer/" 2>/dev/null || echo "βœ… No ~/Library/Developer found"
echo ""
echo "Checking xcode-select status:"
xcode-select -p 2>/dev/null || echo "βœ… xcode-select path not set"
echo ""
echo "πŸŽ‰ COMPLETE! Xcode has been completely removed from your system."
echo ""
echo "πŸ’Ύ Space freed up: Run 'df -h' to see available space"
echo "πŸ”„ Reboot recommended: Restart your Mac to complete the cleanup"
echo ""
echo "πŸ“ To reinstall Xcode:"
echo " β€’ Download from Mac App Store, or"
echo " β€’ Download from https://developer.apple.com/download/"
echo ""
echo "⚠️ Note: Your shell profile backups are saved with timestamp suffixes"
echo " Check ~/.bashrc.backup_*, ~/.zshrc.backup_* etc. if needed"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment