You can work around this by putting most of your project in spm packages and making the Xcode project a small shim that depends on the other packages. Tuist makes this even better, it generates the Xcode project so you don't commit the pbxproj files.