Struct VS XcodeGen

Compare Struct vs XcodeGen and see what are their differences.

Struct

Xcode projects on steroids (by lyptt)

XcodeGen

A Swift command line tool for generating your Xcode project (by yonaskolb)
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
Struct XcodeGen
- 10
720 7,661
- 0.8%
0.0 7.5
about 5 years ago about 1 month ago
Ruby Swift
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Struct

Posts with mentions or reviews of Struct. We have used some of these posts to build our list of alternatives and similar projects.

We haven't tracked posts mentioning Struct yet.
Tracking mentions began in Dec 2020.

XcodeGen

Posts with mentions or reviews of XcodeGen. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-05-16.
  • XTool – Cross-platform Xcode replacement
    2 projects | news.ycombinator.com | 16 May 2025
    Also it shares something in common with XcodeGen (https://github.com/yonaskolb/XcodeGen), especially on using a yaml format to define the project's information
  • Agentic Editing in Zed
    6 projects | news.ycombinator.com | 7 May 2025
    (not the one you asked, but can chime in with some info)

    This was a long time ago, but the way I did it was to use XcodeGen (1) and a simple Makefile. I have an example repo here (2) but it was before Swift Package Manager (using Carthage instead). If I remember correctly XcodeGen has support for Swift Package Manager now.

    On top of that I was coding in VS Code at the time, and just ran `make run` in the terminal pane when I wanted to run the app.

    Now, with SwiftUI, I'm not sure how it would be to not use Xcode. But personally, I've never really vibed with Xcode, and very much prefer using Zed...

    1: https://github.com/yonaskolb/XcodeGen

  • Would creating a new Xcode project cause significant merge conflicts?
    1 project | /r/iOSProgramming | 6 Oct 2022
    Worth noting if project file changes would be pretty common in the development flow then maybe using a regen tool would be useful to prevent major conflicts, I’d recommend https://github.com/yonaskolb/XcodeGen
  • How to manage a huge iOS project written by many teams?
    2 projects | /r/SwiftUI | 24 Mar 2022
    There are a lot of tools and solutions that can help manage a large codebase. For example, a good CI/CD system linked to GitHub or your internal source control system can ensure that all of your unit tests and UI tests run on every PR and block PRs from merging if there are test failures. And if the company chooses not to check in the .xcodeproj or .xcworkspace file, but rather rely on project autogeneration tools like xcodegen, then you can eliminate annoying merge conflicts in PRs that happen when two teams happen to touch files that are near each other in the .pbxproj file (but at the cost of developers always having to run xcodegen when checking out a new branch).
  • brew install xcodegen
    1 project | /r/bitrise | 15 Jan 2022
    `git clone https://github.com/yonaskolb/XcodeGen.git cd XcodeGen make install`
  • Do Xcode from command line
    1 project | /r/Xcode | 5 Dec 2021
    Parent comment is right, but check out XcodeGen and get away from the project file. It’s an abomination.
  • missing project.pbxproj file, how to restore it?
    1 project | /r/iOSProgramming | 23 Aug 2021
  • The project ‘Project-Name’ is damaged and cannot be opened due to a parse error
    1 project | /r/swift | 21 Jun 2021
    I don't see anything wrong with your gitignore. If this is causing too many problems, have you considered using a tool that will generate xcodeproj files for you, like XcodeGen?
  • How to better structure your Xcode projects
    2 projects | /r/iOSProgramming | 17 Jun 2021
    Curious why you guys built XCodeJS instead of going with XcodeGen or Tuist
  • The joys of creating Xcode project files
    8 projects | news.ycombinator.com | 25 Apr 2021
    It's such trash. For my personal projects, XcodeGen is a lifesaver.

    How Apple thinks that a single god file is a good idea is crazy to me. No other build tool needs this.

    https://github.com/yonaskolb/XcodeGen

What are some alternatives?

When comparing Struct and XcodeGen you can also consider the following projects:

Kin - Sane PBXProj files

SwiftGen - The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs!

FBSimulatorControl - idb is a flexible command line interface for automating iOS simulators and devices

R.swift - Strong typed, autocompleted resources like images, fonts and segues in Swift projects

Traits - Modify your native iOS app in real time.

fastlane-plugin-appicon - Generate required icon sizes and iconset from a master application icon.

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured