ReactiveCocoa / ReactiveSwift

Streams of values over time

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Module compiled with Swift 5.1 cannot be imported by the Swift 5.1.2 compiler

kenshinzz opened this issue · comments

I found this issue when I build with xcode 11.4.1

ReactiveSwift version 6.1

Screen Shot 2563-04-30 at 14 22 19

Have you tried rebuilding ReactiveSwift since downloading/installing 11.4.1?

Yes, I have

We haven't distributed binaries since ReactiveSwift 2.0. This looks more an issue in Carthage usage, which Carthage builds your dependencies using a different Xcode version (and hence Swift compiler). Try to make sure that the xcode-select is pointing to the version you actually intended to use.

https://github.com/Carthage/Carthage/issues

We will need to set BUILD_LIBRARIES_FOR_DISTRIBUTION to YES for supporting module stability introduced in Swift 5.1.

@ikesyo Could you please elaborate on the rationle?

Users embedding ReactiveSwift as source libraries shouldn't be required to pay the cost for BUILD_LIBRARIES_FOR_DISTRIBUTION, should they? That is unless you are advocating for us to start formally guaranteeing ABI and module stability?

Otherwise Carthage users who build frameworks locally can't reuse built frameworks. Hmm should Carthage offer --build-for-distribution option for this situation? 🤔