If you move some classes of your app into a local Swift Package, you can still debug this code. Xcode accepts breakpoints as usual and halts execution when conditions are met.
However, if you publish your package on Github and include it from there, breakpoints in the package's source code stop working. Xcode draws them with a dotted outline, and when hovering shows a tooltip saying:
"Xcode won't pause at this breakpoint because it has not been resolved. Resolving it requires that:
The line at the breakpoint is compiled.
The compiler generates debug information that is not stripped out (check the Build Settings).
The library for the breakpoint is loaded."
Since this code is executed (I added a print statement to verify that), it definitely is compiled and loaded. So it seems that its debug info is stripped out.
In the package itself you cannot set Build Settings, since it is delivered as source files and built as dependency when your main app using this package is built.
In the app's Build Settings, there is "Deployment -> Strip Swift Symbols" which I set to No for Debug builds and left to Yes for Release builds. Same for "Strip Linked Product".
Clean Build Folder, Debug -> no changes, breakpoints in the package still are dotted and do not work.
What else needs to be set to include debug information for remote packages so you can use breakpoints there?
I made a sample project in Github to demonstrate the problem: GitHub - Fesh-com/TestRemotePackages: Sample Xcode project to test the SymLog package