Module compiled with Swift 5.x cannot be imported by the Swift 5.3 compiler

2023-09-21 16:33:42 浏览数 (1)

Module compiled with Swift 5.2.4 cannot be imported by the Swift 5.3 compiler

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

Module compiled with Swift 5.2 cannot be imported in Swift 5.0

...

最近在用Swift写SDK,编译后给别人使用,报了很多诸如此类的错误,现在汇总一下解决方法。

问题产生的原因就是Swift编译的Framework的swift版本和使用者APP使用的Swift版本不一致就会报这个错误,所以解决思路是同步Swift版本:

一、使用carthage管理的第三方库报此类错误
代码语言:txt复制
carthage update --platform iOS --no-use-binaries
二、使用cocoaPods管理的第三方库报此类错误
代码语言:txt复制
1. 删除 Pods 文件夹内容
2. pod install
三、从https://swift.org/download/#releases下载安装适用于您的特定Xcode版本的Xcode Toolchain。

Xcode Toolchain包括编译器,lldb以及其他相关工具的副本,这些副本可提供在特定版本的Swift中工作时提供相应环境。

打开Xcode的首选项,Components > Toolchains ,然后选择已安装的Swift工具链。现在,您可以编译并运行该应用程序。

四、自己下载Framework库源码使用自己的Xcode编译。
五、自己是Framework的作者,但是不想开源,所以不能交由一些第三方管理库编译,或者给源码给别人编译:
  • 1、 自己编译多套Framework,每种Swift版本编一个。。。。

    0 人点赞