A modern macOS GUI application for xcodebuild command-line tool, built with Swift and SwiftUI.
Xcodebuilder provides an intuitive graphical interface for the xcodebuild command, making it easy to build, test, archive, and clean Xcode projects without memorizing complex command-line syntax. Think of it as "Postman for xcodebuild".
-
Easy Parameter Configuration: Select common xcodebuild parameters through a clean UI
- Build actions: build, test, clean, archive, analyze
- Project/Workspace selection with file picker
- Scheme and target configuration
- Debug/Release configurations
- SDK and destination settings with smart picker
- Additional flags support
-
Project Inspector: Automatically detects schemes, targets, configurations, and available destinations from your project
-
Command Preview: See the generated xcodebuild command in real-time before execution
-
Live Output: View complete command output as it runs with auto-scroll
-
Build History: Track your recent builds with timestamps and status
- Build Failure Analysis: When a build fails, get intelligent analysis of the error
- AI Insights: On-device AI analyzes build failures and suggests fixes (via Apple's FoundationModels framework)
- macOS 26 (Tahoe) or later
- Xcode 26.0 or later
- Swift 6.0 or later
- Open
Xcodebuilder.xcodeprojin Xcode - Select the Xcodebuilder scheme
- Build and run (⌘R)
- Select a Project or Workspace: Click "Browse..." to select your
.xcodeprojor.xcworkspacefile - Choose Build Action: Select from build, test, clean, archive, or analyze in the toolbar
- Configure Settings:
- Select scheme (auto-populated from project)
- Choose configuration (Debug/Release)
- Pick destination (simulators, devices, or Mac)
- Add any additional flags
- Preview Command: Review the generated command in the "Generated Command" tab
- Execute: Click the Execute button to run the command
- Monitor Output: Watch the live output and status indicator
Xcodebuilder/
├── XcodebuilderApp.swift # Main app entry point
├── ContentView.swift # Main UI view
├── XcodebuildCommand.swift # Command building model
├── CommandExecutor.swift # Command execution logic
├── ProjectInspector.swift # Project/workspace analysis
│
├── UI Components/
│ ├── ToolbarView.swift # Top toolbar with actions
│ ├── BuildConfigurationPanel.swift # Left panel configuration
│ ├── BuildOutputPanel.swift # Right panel output display
│ ├── DestinationPickerView.swift # Destination selection UI
│ └── AdditionalFlagsEditor.swift # Custom flags editor
│
└── AI Analysis/
├── AIBuildAnalyzer.swift # On-device AI analysis
├── AIAnalysisView.swift # AI insights popover
└── BuildFailureAnalyzer.swift # Build failure detection
# Clone the repository
git clone https://github.com/1ucas/xcodebuilder.git
cd xcodebuilder
# Open in Xcode
open Xcodebuilder.xcodeproj
# Or build from command line
xcodebuild -scheme Xcodebuilder -configuration Release buildThe project is configured for ad-hoc signing out of the box (Manual signing style with an empty development team and - as the code-signing identity), so you can clone and build without an Apple Developer account.
If you want to run a signed build under your own team, open the target in Xcode → Signing & Capabilities, switch to Automatic, and pick your team. Don't commit those changes back — keep the repo's defaults so other contributors can build cleanly.
- Select your
.xcodeprojfile - Select your scheme from the dropdown
- Choose "Build" action
- Select Debug or Release configuration
- Click Execute
- Select your project/workspace
- Select your scheme
- Choose "Test" action
- Select a simulator destination
- Click Execute
- Select your project/workspace
- Select your scheme
- Choose "Archive" action
- Set archive path using the folder picker
- Set configuration to Release
- Click Execute
- The app auto-detects schemes, configurations, and targets when you open a project
- Destinations are fetched based on your selected scheme's supported platforms
- Use the Copy button to save generated commands for scripts or CI/CD
- Build history is preserved during the session for quick reference
MIT License - See LICENSE file for details.
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
When adding features, keep the interface clean and focused on making xcodebuild easier to use.
