【问题标题】:How do I keep using Swift 2.3, instead of 3.0, Xcode updated and can't build anymore我如何继续使用 Swift 2.3 而不是 3.0,Xcode 已更新且无法再构建
【发布时间】:2016-09-22 10:53:20
【问题描述】:

我正在开发一个包含 20 多个框架依赖项的应用程序,但并非所有这些依赖项都在 3.0 上。所以我想继续使用 Swift 2.3。但是,将我的 Xcode 更新到 8.0 后,我无法再构建我的应用程序。它失败并出现以下错误:

“Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly.

我还不想将整个项目转换为 3.0。

所以我的问题是如何在 Xcode 8.0 更新后保持一切不变?

【问题讨论】:

标签: ios swift xcode swift3


【解决方案1】:

如果你想使用 Swift 2.3,你应该去Build Settings -> Use Legacy Swift Language Version -> YES 这将帮助你实现它。构建应用程序后,会有一些小的语法问题。修复后(不是那么难)它会照常进行

【讨论】:

  • 现在图书馆有很多问题,其中一些是小问题,但我不知道如何解决其中一些。有没有更好的办法?
  • 如果您使用源代码控制,请回滚到您尚未更新库的提交,如果您更新了当前库,其中一些已修改以满足 swift 3.0 语法,因此在这种情况下您构建时出现错误,在构建的 2.3 干净提交之后,您应该这样做:转换为最新的 swift 语法 - 稍后,不要更新库。
  • 但如果我转换,它将是 3.0,我不想要那个,不是吗?
  • 1) 您不应将代码转换为最新的 3.0,2) 不要更新库,3) 将 Use Legacy Swift Language Version 设置为 YES。一切都会好起来的。
  • 这就是我所做的。项目运行良好,建设良好。 1.更新Xcode8。 2. 将 Use Legacy Swift Language Version 设置为 YES 我只需要这样做吗?
【解决方案2】:

您可能想阅读这篇文章:https://swift.org/migration-guide/ 或更具体的部分使用 Carthage/CocoaPods 项目

我想你可以选择在你的 Xcode 工作区中包含项目的源代码 方法。这实质上意味着您将所有代码保留在 Swift 2.3 中,并对所有或部分外部框架(称为 Pod)进行快照,这些框架尚未支持 Swift 3.0。

【讨论】:

    猜你喜欢
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 2017-02-09
    相关资源
    最近更新 更多