A command line tool to help developers work with multiple Xcode versions by temporarily modifying the bundle version of Xcode that "bluff" the system about which Xcode version is being used. This is particularly useful when you need to use an older Xcode version while maintaining compatibility with newer macOS requirements.
This repository also demonstrates the usage of OpenAI Codex for automating updates and contributions.
- macOS Sonoma (14.0) or later.
- At least 2 Xcode versions installed.
- One must be compatible with your current macOS version.
- Full Disk Access permission granted to your terminal application (Terminal, iTerm2, Warp, etc.).
To grant Full Disk Access:
- Open System Settings.
- Navigate to Privacy & Security > Full Disk Access.
- Add your terminal application to the list of allowed apps.
Using Mint (Recommended)
If you do not have Mint installed, use Homebrew to install it:
brew install mint
mint install suho/bluffxcodes
For more information, see the Mint documentation.
If you prefer installing directly with Homebrew:
brew tap suho/bluffxcodes
brew install bluffxcodes
- Clone the repository
git clone https://github.com/suho/bluffxcodes.git
- Build and install
cd bluffxcodes
swift build -c release
cp -f .build/release/bluffxcodes /usr/local/bin/bluffxcodes
Simply run the command in your terminal:
bluffxcodes
The tool will automatically:
- Detect your installed Xcode versions in the background.
- Update the bundle version for each older Xcode and attempt to open it.
- Display a list of Xcode versions that opened successfully.
From this point on, you can use the selected Xcode as normal (e.g., open it from the dock, Spotlight, etc.).
Contributions are welcome! Please feel free to submit a Pull Request.
- Inspired by discussions in the iOS Developers Slack community.
- Special thanks to @aaronpearce for the original idea.
This project is licensed under the MIT License - see the LICENSE file for details.