I have a Swift framework (framework A) with SPM dependency (module B).
Module B is used as framework A implementation part.
Option BUILD_FOR_LIBRARIES_FOR_DISTRIBUTION is enabled.
The framework defines its own module A.
I use Xcode 11.7 build system for compilation and building (xcodeproj-based), not SPM capabilities.
When I compile framework I see a compiler warning "module 'B' was not compiled with library evolution support; using it means binary compatibility for 'A' can't be guaranteed."
When I open the DerivedData output folder I see file B.o and B.swiftmodule.
So I have questions:
- Will B.o be 'statically' linked to the output framework's binary?
- How can avoid this warning?
- Will public/open classes/functions/enums inside module B come "public part" of framework A API's?
- Is it possible to "hide" module B within the framework?