Open hlung opened 3 years ago
This is a good idea. I'm not 100% sure of the consequences for users that are still using plain old frameworks. I'm sure we'll all be using xcframework soon, but not sure of adoption curves.
If you are a user with strong opinions on this or insight into building a framework with this option on, please comment in this thread.
I've began the work to update the project build settings and look further into what this build setting actually will do.
When set to YES, an additional file is created (.swiftInterface) which is a non binary description of the public API for the module. This is what will ensure ABI compatibility across swift versions. Verified that there is no impact on building regular frameworks via building a dummy library with mamba as a dependency (with this setting modified).
This issue should now be resolved in both the develop
and develop_1.x
branches.
Hi @jonnybach. My framework is a fat framework so can it have module stability enabled or i need to build it as xcframework?? Thanks!!
@hoangduoc0603 sorry for the delayed response. I have recently changed jobs so I was not active on GitHub with this account for a few weeks.
You may have already received your answer, but you don't have to build your framework as an xcframework b/c module stability has been enabled. However, I'd recommend you start supporting packaging any binaries of your frameworks as xcframeworks because:
Hope this is helpful.
Description
Currently, I can't include it with Swift 5.3.2.
Since Swift 5.1, Apple provide module stability feature in Xcode. This enables a framework to be able to be included in targets with newer Swift versions. But
BUILD_LIBRARY_FOR_DISTRIBUTION
build setting has to be enabled.My current workaround is to add a Podfile
post_install
script to do so:Tasks
BUILD_LIBRARY_FOR_DISTRIBUTION
build setting toYes
References