Thank you for answering!
In the meantime I tried another approach of creating the command line tools via SwiftPM and ran pretty much into the same issue here.
The Package manifest defined two binaries with some dependencies and the build process again complained about multiple commands producing various frameworks.
I fully agree that simplification is the way to go which is why the actual project has about 6 different frameworks into which the functionality is broken down.
It is interesting to note that the error appears for frameworks that link external libraries - in one case it's swift-syntax and swift-system (as one of the libraries defines macros) and the other swift-subprocess.
I wonder if this has any effect on this.
When you have HelperTool and AdditionalHelperTool both linking MyFramework and both having an "Embed Frameworks" or "Copy Files" phase configured to copy MyFramework to Build/Products/Debug/Frameworks/, Xcode sees two distinct commands attempting to write to the identical location, leading to the conflict.
I understand why this error occurring, but I do not set these commands up - Xcode does. Or to be more precise the Swift build system.
When I remove complete references of the libraries from the command line targets (HelperTool and AdditionalHelperTool), I actually get another error about the module _SubprocessCShims (which is part of swift-subprocess library): "Unable to find module dependency".
I've been playing with this for quite a few hours and it's just like playing whack-a-mole - I get rid of one error and get another one. :(
If MyFramework is not a system framework (which it likely isn't if it's from a SwiftPM package), your helper tools will need to find it at runtime.
Yes, this is why I've updated @rpath via the linker settings in Xcode.