Library Evolution Support warning

I've created a package with SPM and distributed it with private git repo. But when I import the module, Xcode shows a warning:
Module 'MODULE_NAME' was not compiled with library evolution support; using it means binary compatibility for 'PROJECT_NAME' can't be guaranteed
Both iOS and Swift version is the same in module and in project

This diagnostic means that the module containing the import has library evolution enabled while the imported module does not. This combination is likely to lead to issues if you distribute binaries of library to other developers. You have a couple of options:

  1. Disable library evolution for both modules if you don't intend to distribute binaries to other developers.
  2. Import the second module with @_implementationOnly if you intend to distribute the binaries but the second module is an implementation detail of the first.
  3. Enable library evolution for both modules if they're going to be distributed and there are APIs in both modules that other developers need access to.

there really was an inconsistency in this setting.. thanks for clarify

1 Like