我目前工作的公司支持用Swift 2.3编写的遗留产品(我不同意)。目前,他们希望继续推出支持遗留版本的功能,因此,我目前正处于一个绑定中,涉及一个用Swift 3.0编写的pod。
我试图通过安装Xcode 7.3.1将语法转换回Swift 2.3,希望能够移植该代码。不幸的是,由于它是用Swift 3.0编写的模块,我的努力是徒劳的。
虽然我不反对在Swift 2.3中编写模块中的代码,但我没有任何建议,不过我知道从长远来看,我将看到一个乏味的过程。我应该采取哪些步骤将用最新版本的Swift编写的模块迁移回版本2.3?

最佳答案

首先,您可以使用Xcode 8来实现这一点。选择每个方案,然后在生成设置中将“使用传统swift版本”设置为“是”。编译然后运行。斯威夫特将开始提出许多错误。例如,此代码(在swift 3中):

SKAction.rotate(byAngle: CGFloat(M_PI_2), duration: 10)


SKAction.rotateByAngle: CGFloat(M_PI_2), duration: 10)

在斯威夫特2中。您必须手动修复swift所说的所有错误,因此需要清楚地了解旧的swift语法。

10-07 19:21
查看更多