Hi Quinn and thanks for your answer.
I also arrived at the same conclusion with a simpler test project. In terms of structure, I indeed want to use some intel-only code from my universal app.
The test project also helped me figure out what the actual problem was. In my main app, I have a package.swift file with some packages that are used by both the main app and the XPC service. On my Apple Silicon machine, the main app is compiled as arm64 and when the xpc tries to access the package files it finds that they are compiled in the wrong architecture and the build fails.
So here's my new question: how to structure the project so that both the main app and the xpc service can use code from a package?
Thanks!
SB