I have this exact same issue. I extracted some C/C++ dependencies that I used to compile and had to vendor through my source repo into a binary Swift Package and now I'm unable to generate Xcode Projects that depend on it. It also prevents me from running tests for Apple platform targets since SPM itself can only run tests against macOS and Linux.
Sometimes it’s necessary to generate frameworks, especially given the fact that directly using xcodebuild sometimes does not see all public headers that some packages I use define. It is also important to be able to build frameworks directly because it’s faster to distribute in comparison to having bare .o files with bare swift modules. Also, it’s very important that sometimes direct xcodebuild does not generate swift modules for C targets in packages even though it does that when generate-xcodeproj is used.