Member-only story
Why you should use Xcode 16 buildable folders instead of groups

I’ve recently migrated Ice Cubes, my open-source SwiftUI Mastodon client to use file system folders instead of Xcode groups.
The project was already split into multiple Swift packages; it was not a big lift. The only thing I did was to use the “Convert to Folder” command on every folder at the app level.

For this to work, you have to be sure that what you see in Xcode already reflects the folder layout. Unless you’re doing any custom / virtual organization within your groups, this should already be the case. Folders work exactly how they should; they just show (and compile/include) whatever is in the folder, just like an SPM package.
Folders have many advantages over Xcode virtual groups, so I think it’s worth enumerating them in an article so you can get the gist of it.