Xcode 16 Buildable Folders: Our Initial Experience & Seeking Downsides for Enterprise Apps

Seems like converting groups into folders looks like a great way to clear up the project file and reduce merge conflicts for large teams, started trying it today and it even lead us to find some untracked/unused files in the project. This structure also seems to be the default now after Xcode 16. The question is, are there any downsides to converting groups to folders, the one ones that come to mind is losing Xcode virtual file ordering, which is no biggie. If your have an "enterprise level app" would love to hear your experience if your team decided to convert to a folder structure.

Answered by DTS Engineer in 845536022

Seems like converting groups into folders looks like a great way to clear up the project file and reduce merge conflicts for large teams, started trying it today and it even lead us to find some untracked/unused files in the project. This structure also seems to be the default now after Xcode 16. The question is, are there any downsides to converting groups to folders, the one ones that come to mind is losing Xcode virtual file ordering, which is no biggie.

The main advantage groups have is that separating the projects logical organization (what Xcode displays) from the physical configuration (where the file exist on disk) lets you restructure the logic of the project without actually moving objects on disk. Ironically, the biggest advantage of this is in version control since, for example, it allows the project structure to be reorganized without interferring with modifications to the individual source files.

Having said that, there certainly is a place for using folder instead of groups. For example, it might sense for something like a set of "Utility" functions/classes, where you might want to rename files or restructure the hierarchy but you're unlikely to move those files outside that hierarchy. At larger scale, they can give you something that's "between" a normal project file and a true library. So you can add/removes file from the file set without modifying the project, but you're not actually building an additional, independant object.

__
Kevin Elliott
DTS Engineering, CoreOS/Hardware

Seems like converting groups into folders looks like a great way to clear up the project file and reduce merge conflicts for large teams, started trying it today and it even lead us to find some untracked/unused files in the project. This structure also seems to be the default now after Xcode 16. The question is, are there any downsides to converting groups to folders, the one ones that come to mind is losing Xcode virtual file ordering, which is no biggie.

The main advantage groups have is that separating the projects logical organization (what Xcode displays) from the physical configuration (where the file exist on disk) lets you restructure the logic of the project without actually moving objects on disk. Ironically, the biggest advantage of this is in version control since, for example, it allows the project structure to be reorganized without interferring with modifications to the individual source files.

Having said that, there certainly is a place for using folder instead of groups. For example, it might sense for something like a set of "Utility" functions/classes, where you might want to rename files or restructure the hierarchy but you're unlikely to move those files outside that hierarchy. At larger scale, they can give you something that's "between" a normal project file and a true library. So you can add/removes file from the file set without modifying the project, but you're not actually building an additional, independant object.

__
Kevin Elliott
DTS Engineering, CoreOS/Hardware

Xcode 16 Buildable Folders: Our Initial Experience & Seeking Downsides for Enterprise Apps
 
 
Q