Swift 4.0 modules were fine in Swift 3.2 apps with Xcode 9.0.
But now, with Xcode 9.1, I get:
Module compiled with Swift 4.0 cannot be imported in Swift 3.2.1
Or:
Module compiled with Swift 4.0 cannot be imported in Swift 4.0.1
Swift 4.0 modules were fine in Swift 3.2 apps with Xcode 9.0.
But now, with Xcode 9.1, I get:
Module compiled with Swift 4.0 cannot be imported in Swift 3.2.1
Or:
Module compiled with Swift 4.0 cannot be imported in Swift 4.0.1
It's possible to build using Swift 3.2 in Xcode 9.1 beta 2 by installing the Xcode 9.0 toolchain and using that to build your project.
Then choose the Swift 4.0 release under the Xcode -> Toolchains menu.
You should now be able to build with either Swift 3.2 or 4.0 in Xcode 9.1 b2.
Swift 4.0 is compatible with Swift 3.2 only.
Swift 4.0.1 is compatible with Swift 3.2.1 only.
So:
To formulate it differently:
If the module was built by you, simply rebuild it with the same Xcode.
If the module was built by a third party, request an Xcode 9.1 compatible build.
Using the last Xcode version solved this issue