Skip to content

Instantly share code, notes, and snippets.

@shashankpali
Last active September 24, 2025 15:12
Show Gist options
  • Select an option

  • Save shashankpali/65d9ced76e7e4cd7ac28b196845f0aa1 to your computer and use it in GitHub Desktop.

Select an option

Save shashankpali/65d9ced76e7e4cd7ac28b196845f0aa1 to your computer and use it in GitHub Desktop.
remove Xcode completely from mac
#!/bin/bash
# Complete Xcode Removal Script
# This script will remove ALL traces of Xcode from your macOS system
# WARNING: This action cannot be undone!
set -e # Exit on any error
echo "🚨 WARNING: Complete Xcode Removal Script"
echo "=========================================="
echo "This script will remove ALL traces of Xcode from your system."
echo "You will need to reinstall Xcode and Command Line Tools afterward."
echo ""
echo "Press Ctrl+C to cancel, or press Enter to continue..."
read -r
echo ""
echo "🔄 Starting Xcode removal process..."
echo ""
echo "1️⃣ Killing all Xcode-related processes..."
sudo killall "Xcode" 2>/dev/null || echo "Xcode process not running"
sudo killall "XCBBuildService" 2>/dev/null || echo "XCBBuildService process not running"
sudo killall "SourceKitService" 2>/dev/null || echo "SourceKitService process not running"
sudo killall "com.apple.dt.SKAgent" 2>/dev/null || echo "SKAgent process not running"
sudo killall "com.apple.dt.Xcode.DNTCoreDocumentationServiceHelper" 2>/dev/null || echo "DNTCoreDocumentationServiceHelper process not running"
sudo killall "com.apple.dt.Xcode.sourcecontrol.WorkingCopyScanner" 2>/dev/null || echo "WorkingCopyScanner process not running"
sudo killall "com.apple.dt.Xcode.sourcecontrol.SSHHelper" 2>/dev/null || echo "SSHHelper process not running"
sudo killall "com.apple.dt.Xcode.KeychainService" 2>/dev/null || echo "KeychainService process not running"
sudo killall "com.apple.dt.Xcode.DeveloperSystemPolicyService" 2>/dev/null || echo "DeveloperSystemPolicyService process not running"
sudo killall "GPUToolsAgentService" 2>/dev/null || echo "GPUToolsAgentService process not running"
sudo killall "GPUToolsCompatService" 2>/dev/null || echo "GPUToolsCompatService process not running"
echo ""
echo "2️⃣ Removing Xcode application..."
sudo rm -rf "/Applications/Xcode.app" 2>/dev/null || echo "Xcode.app not found"
echo ""
echo "3️⃣ Removing Command Line Tools..."
sudo rm -rf "/Library/Developer/CommandLineTools" 2>/dev/null || echo "Command Line Tools not found"
echo ""
echo "4️⃣ Removing Xcode user data..."
sudo rm -rf "$HOME/Library/Developer/Xcode" 2>/dev/null || echo "User Xcode data not found"
sudo rm -rf "$HOME/Library/Caches/com.apple.dt.Xcode" 2>/dev/null || echo "Xcode cache not found"
sudo rm -rf "$HOME/Library/Preferences/com.apple.dt.Xcode.plist" 2>/dev/null || echo "Xcode preferences not found"
sudo rm -rf "$HOME/Library/Preferences/com.apple.dt.xcodebuild.plist" 2>/dev/null || echo "xcodebuild preferences not found"
sudo rm -rf "$HOME/Library/Saved Application State/com.apple.dt.Xcode.savedState" 2>/dev/null || echo "Xcode saved state not found"
echo ""
echo "5️⃣ Removing iOS Simulator data..."
sudo rm -rf "$HOME/Library/Developer/CoreSimulator" 2>/dev/null || echo "User CoreSimulator not found"
sudo rm -rf "/Library/Developer/CoreSimulator" 2>/dev/null || echo "System CoreSimulator not found"
echo ""
echo "6️⃣ Removing Swift Package Manager cache..."
sudo rm -rf "$HOME/Library/Caches/org.swift.swiftpm" 2>/dev/null || echo "Swift Package Manager cache not found"
sudo rm -rf "$HOME/Library/Developer/Xcode/DerivedData" 2>/dev/null || echo "DerivedData not found"
echo ""
echo "7️⃣ Removing Xcode support files..."
sudo rm -rf "$HOME/Library/Application Support/Xcode" 2>/dev/null || echo "Xcode Application Support not found"
sudo rm -rf "$HOME/Library/Logs/Xcode" 2>/dev/null || echo "Xcode logs not found"
sudo rm -rf "$HOME/Library/Logs/gym" 2>/dev/null || echo "Gym logs not found"
echo ""
echo "8️⃣ Removing Xcode archives and exports..."
sudo rm -rf "$HOME/Library/Developer/Xcode/Archives" 2>/dev/null || echo "Xcode archives not found"
sudo rm -rf "$HOME/Library/Developer/Xcode/Products" 2>/dev/null || echo "Xcode products not found"
echo ""
echo "9️⃣ Removing Xcode derived data from system locations..."
echo "Cleaning /private/var/folders..."
sudo find /private/var/folders -name "*Xcode*" -type d -exec rm -rf {} + 2>/dev/null || true
echo "Cleaning /tmp..."
sudo find /tmp -name "*Xcode*" -type d -exec rm -rf {} + 2>/dev/null || true
echo ""
echo "🔟 Resetting xcode-select..."
if command -v xcode-select >/dev/null 2>&1; then
echo "Uninstalling xcode-select..."
sudo xcode-select --uninstall 2>/dev/null || true
else
echo "xcode-select not found (already removed)"
fi
echo ""
echo "🧹 Additional cleanup..."
# Remove any remaining Xcode-related files in common locations
sudo rm -rf "$HOME/Library/Developer/Xcode" 2>/dev/null || echo "Additional Xcode data not found"
sudo rm -rf "$HOME/Library/Developer/Xcode.app" 2>/dev/null || echo "Xcode.app backup not found"
sudo rm -rf "$HOME/Library/Developer/Xcode-beta.app" 2>/dev/null || echo "Xcode-beta.app not found"
# Remove Xcode from LaunchAgents and LaunchDaemons
echo "Removing Xcode LaunchAgents..."
sudo rm -f /Library/LaunchAgents/com.apple.dt.Xcode* 2>/dev/null || true
sudo rm -f /Library/LaunchDaemons/com.apple.dt.Xcode* 2>/dev/null || true
# Remove Xcode from Application Support
sudo rm -rf "$HOME/Library/Application Support/com.apple.dt.Xcode" 2>/dev/null || echo "Xcode Application Support not found"
# Remove Xcode from Containers
sudo rm -rf "$HOME/Library/Containers/com.apple.dt.Xcode" 2>/dev/null || echo "Xcode containers not found"
# Remove Xcode from Group Containers
sudo rm -rf "$HOME/Library/Group Containers/com.apple.dt.Xcode" 2>/dev/null || echo "Xcode group containers not found"
# Remove Xcode from WebKit
sudo rm -rf "$HOME/Library/WebKit/com.apple.dt.Xcode" 2>/dev/null || echo "Xcode WebKit data not found"
echo ""
echo "✅ Xcode removal completed!"
echo ""
echo "📋 Next Steps:"
echo "1. Restart your Mac to clear any remaining processes"
echo "2. Download fresh Xcode from Apple Developer website"
echo "3. Install Command Line Tools separately"
echo ""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment