A macOS menu bar app to open Xcode projects with your preferred Xcode version.
- Version Selection - Choose which Xcode opens
.xcodeprojand.xcworkspacefiles - Multiple Xcodes - Support for multiple Xcode versions installed side-by-side
- Auto-Detection - Automatically detects installed Xcode versions
- Rules Engine - Define rules for which Xcode handles which file types
- Menu Bar App - Runs quietly in the menu bar
- Launch at Login - Optional auto-start with macOS
- XcodeOpener registers itself as the default handler for Xcode project files
- When you open a
.xcodeprojor.xcworkspace, XcodeOpener intercepts it - Based on your rules, it opens the project with your preferred Xcode version
- Download the latest release
- Move
XcodeOpener.appto/Applications - Launch the app
- Configure your Xcode versions and rules
- Click the XcodeOpener menu bar icon
- Select "Show Main Window"
- Go to the "Xcodes" tab
- Click "+" to add an Xcode installation
- Give it an alias (e.g., "Xcode 15") and select the app path
- Go to the "Rules" tab
- Click "+" to add a new rule
- Select the file type (
.xcodeprojor.xcworkspace) - Choose which Xcode should handle it
To restore macOS default behavior:
- Click the menu bar icon
- Select "Back to Xcode"
XcodeOpener uses macOS Launch Services APIs to:
- Register as the default handler for Xcode file types
- Intercept file open requests
- Launch the appropriate Xcode version
// Register as default handler
LSSetDefaultRoleHandlerForContentType(uti, .all, bundleId)
// Open file with specific app
NSWorkspace.shared.openFile(path, withApplication: xcodePath)- macOS 12.0+
- One or more Xcode installations
MIT License - see LICENSE for details.
Created by Chen He. Updated in 2026 with modern macOS API support.