XcodeGen icon indicating copy to clipboard operation
XcodeGen copied to clipboard

Updated project format for Xcode 16

Open CraigSiemens opened this issue 1 year ago • 10 comments

Xcode 16 has introduced a new version of the project format. I believe it's mainly to support folder references

From the Xcode 16 release notes https://developer.apple.com/documentation/xcode-release-notes/xcode-16-release-notes#Project-Management

Minimize project file changes, and avoid version control conflicts with buildable folder references.

Convert an existing group to a buildable folder with the “Convert to Folder” context menu item in the Project Navigator. Buildable folders only record the folder path into the project file without enumerating the contained files. This minimizes diffs to the project when files are added and removed, and avoids source control conflicts with your team.

To use a folder as an opaque copiable resource, the default behavior before Xcode 16, uncheck the “Build Folder Contents” option in the File Inspector. (123729918)

In theory this should allow for faster project generation when using folder references since xcodegen won't need to enumerate all the files in a source folder.

It appears like XcodeProj has already been updated to support the new types in the file format.

  • https://github.com/tuist/XcodeProj/pull/827

CraigSiemens avatar Sep 20 '24 17:09 CraigSiemens

🙏🏻 🙏🏻 🙏🏻

erneestoc avatar Oct 24 '24 06:10 erneestoc

@yonaskolb

bartosz-pawelczyk avatar Dec 10 '24 16:12 bartosz-pawelczyk

@yonaskolb

piotrsmajek avatar Dec 11 '24 14:12 piotrsmajek

still no support for Xcode 16 folder format?

esnssr avatar Feb 22 '25 19:02 esnssr

would like to have the Xcode 16 Buildable Folder support indeed, 🙏

funclosure avatar Mar 03 '25 01:03 funclosure

Ok, I will try to find some time this week

yonaskolb avatar Mar 03 '25 02:03 yonaskolb

@yonaskolb 🙏🏻 🙏🏻 🙏🏻

r0texx avatar Apr 03 '25 16:04 r0texx

Ok, I will try to find some time this week

@yonaskolb thank you so much! ❤️🙏🏼

esnssr avatar Apr 07 '25 18:04 esnssr

Ok, so basic support has been added in this PR https://github.com/yonaskolb/XcodeGen/pull/1541 Please give it a spin and report back there about any issues. This will need some more work to support anything but the most basic integration.

If you have mint then you can run mint run yonaskolb/xcodegen@synced_folder to test it out. Be aware this includes changes from master of which there are a couple of breaking fixes to relative paths in included files, so check the changelog. I'll do a release without this feature now

yonaskolb avatar Apr 15 '25 12:04 yonaskolb

Thank you very much for this @yonaskolb ! I tried the branch, and it seems to be working well on my end.

noefroidevaux avatar May 28 '25 11:05 noefroidevaux

Released in 2.44.0

yonaskolb avatar Jul 17 '25 06:07 yonaskolb