Log in
product

Why you might want to generate your Xcode projects in 2025

Learn why Xcode project generation is still relevant in 2025.

With Apple unifying and open-sourcing the build system across SwiftPM and Xcode, and Xcode 16 addressing the frequent Git conflicts, you might wonder about the continued relevance of project generation. In this guide, we'll explore the current landscape and share our optimistic vision for the future of the ecosystem.

The challenges of modular Xcode projects

Managing a modular Xcode project in 2025 still presents unique challenges. At scale, configuring the right build settings and phases to link frameworks, libraries, and copy dynamic modules becomes increasingly complex. When your project contains dozens or even hundreds of modules, visualizing the dependency graph to make informed changes becomes difficult.

We've observed that your projects might occasionally compile successfully due to the build system sharing derived data across build steps. However, this can lead to unexpected issues with debugging tools or SwiftUI previews.

As applications expand to offer more products and support multiple platforms, modularization becomes not just beneficial but necessary. It's a sound architectural practice that enables you to use Swift access levels to define clear boundaries, making your applications more maintainable and allowing the compiler to optimize code effectively.

The industry's response

The ecosystem is actively addressing these challenges. The growing adoption of SwiftPM as a project manager demonstrates developers' desire for simpler solutions to complex modular projects. While SwiftPM brings clarity by avoiding the complexities of "build phases" or "build settings" terminology, it represents an evolving approach that continues to mature.

Companies like Bumble have contributed valuable insights by openly sharing benchmarks about developer experience challenges with large modular codebases using SwiftPM. These conversations are crucial for driving improvements in the ecosystem.

Project generation: Enhancing accessibility and performance

Since 2017, we've been working to address these challenges, first by creating XcodeProj for working with .pbxproj files, then developing Tuist as a project generator. Other tools like XcodeGen emerged with different approaches, giving developers options based on their specific needs.

In 2025, project generation continues to play a vital role by:

  • Making modular codebase management at scale accessible to all developers
  • Optimizing build times through features like cache without requiring the complexity of systems like Bazel

For teams dealing with extended CI turnaround times—sometimes exceeding an hour—these optimizations transform the development workflow and dramatically improve productivity.

An optimistic future

The future looks promising for iOS development tooling. The new swift-build system, with the swift-driver's content-addressable store (CAS), suggests that Apple is actively working on addressing core optimization challenges.

While we can't predict exactly how SwiftPM will evolve, Apple has both the expertise and resources to revolutionize their development foundations by incorporating lessons from ecosystems like Gradle and Bazel. The emergence of AI, LLMs, and innovative editors is creating exciting opportunities for Xcode to expand its capabilities and experiences.

At Tuist, we're committed to building a complementary productivity platform that extends these native foundations. We're continually expanding our feature set for standard Xcode projects, as demonstrated by our recent selective testing for Xcode projects feature.

The iOS development landscape is evolving rapidly, with multiple solutions working in tandem to create the best possible experience. As tools mature and new approaches emerge, developers will benefit from increased flexibility, improved performance, and smoother workflows.

If you're a developer, lead, or head of a mobile organization interested in designing a thriving development environment, let's chat. We're always eager to learn from and support organizations in making app development the most enjoyable experience possible.

You might also like

Streamline previewing changes in your open source Swift apps – IcySky case study
Use Tuist Previews in open source Swift apps to streamline testing latest changes for maintainers and contributors alike.
Tuist 4.26.0: GitHub integration and a new command to find implicit dependencies
Learn more about the new features and improvements in Tuist 4.26.0.
Our pricing philosophy
Learn about the philosophy and model that guide our pricing decisions.

Supercharge your app development

Get started