Skip to content

1ucas/xcodebuilder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Xcodebuilder

Xcodebuilder

Build License: MIT

A modern macOS GUI application for xcodebuild command-line tool, built with Swift and SwiftUI.

Overview

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".

Features

Core Build Functionality

  • 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

AI-Powered Analysis

  • 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)

Requirements

  • macOS 26 (Tahoe) or later
  • Xcode 26.0 or later
  • Swift 6.0 or later

Getting Started

Opening the Project

  1. Open Xcodebuilder.xcodeproj in Xcode
  2. Select the Xcodebuilder scheme
  3. Build and run (⌘R)

Using the App

  1. Select a Project or Workspace: Click "Browse..." to select your .xcodeproj or .xcworkspace file
  2. Choose Build Action: Select from build, test, clean, archive, or analyze in the toolbar
  3. Configure Settings:
    • Select scheme (auto-populated from project)
    • Choose configuration (Debug/Release)
    • Pick destination (simulators, devices, or Mac)
    • Add any additional flags
  4. Preview Command: Review the generated command in the "Generated Command" tab
  5. Execute: Click the Execute button to run the command
  6. Monitor Output: Watch the live output and status indicator

Project Structure

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

Building from Source

# 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 build

Signing

The 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.

Common Use Cases

Building a Project

  1. Select your .xcodeproj file
  2. Select your scheme from the dropdown
  3. Choose "Build" action
  4. Select Debug or Release configuration
  5. Click Execute

Running Tests

  1. Select your project/workspace
  2. Select your scheme
  3. Choose "Test" action
  4. Select a simulator destination
  5. Click Execute

Creating an Archive

  1. Select your project/workspace
  2. Select your scheme
  3. Choose "Archive" action
  4. Set archive path using the folder picker
  5. Set configuration to Release
  6. Click Execute

Tips

  • 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

License

MIT License - See LICENSE file for details.

Contributing

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages