Jer*_*hou 10 swift swift3 swift3.2 xcode9
我已经检查了有关如何通过命令找到当前Swift版本的问题swift --version
,但是如何将我的Swift版本从3.1升级到3.2?(因为Xcode 9只支持Swift 4.0和Swift 3.2)
要在Xcode 8和Xcode 9中成功构建,最好将Swift从3.1升级到3.2.但是怎么样?
我的目标是确保在Xcode 8和Xcode 9中都能成功构建,因此使用Xcode 8发布是可以的,并且尝试Xcode 9的功能也可以.因此,在Xcode 9.0官方版发布之前,我不会将代码升级到swift 4.0.
经过我的测试,我无法通过Xcode 8.3.3的'edit-> convert'功能将我的代码从swift 3.1转换为3.2.
我尝试将代码转换为Swift 3.2的原因是,如果我使用Xcode 9构建代码,我将得到"使用Swift 3.1编译的模块无法在Swift 4.0中导入"的错误.
Swift 3.2是一个权宜之计的解决方案,可以在Xcode 9下继续使用Swift 3代码,而无需将项目完全转换为Swift 4.
Xcode 8.3.3中包含的Swift版本是3.1.在Xcode 9下将代码转换为Swift 3.2并不能保证它仍然可以在Xcode 8下编译.
我不确定编译Swift 3.1代码,因为Xcode 9下的Swift 3.2需要任何转换,因为它们都共享相同的语法.您可能必须修复一些API调用以补偿新SDK中的更改.
Apple在此处提供了更多信息:
(更新)
关于你的最后一张图片,如果你有Runes模块的源代码,你将不得不在Xcode 9下重新编译它.这将使用Swift 3.2并允许它在Swift 4中导入.