我们每次安装新版本的 Xcode 的时,新 Xcode 都只包含最新版本的 Swift。但通常我们的代码或第三方库还来不及匹配,或者我们想看看新的特性在新旧版本之间的区别,这时候就比较头大了。
原因
今天升级xcode 13.3最新版,然后编译出现下面错误。
Module compiled with Swift 5.2 cannot be imported by the Swift 5.6 compiler: /Users/tdw/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphoneos/SwiftyJSON/SwiftyJSON.swiftmodule/armv7-apple-ios.swiftmodule
翻译过来就是 之前的模块用的swift5.3编译的。不能被5.6的编译器import导入.
错误原因是:老得swift模块,不能被最新的xcode使用。
解决方法:
到swift官方下载一个工具
Toolchain
https://swift.org/download/#releases
选择 xcode 13.3我当前的版本
下载完以后安装swift-5.5.3-RELEASE-osx.pkg
安装完以后在xcode里面左上角点击xcode菜单打开能找到Toolchains
DEBUG跑真机选择xcode13.3,Archive的话选择Swift5.3.3。
你下载以后选择最新版本就行,再编译就不会报错了