【问题标题】:Xcode 8: Most Swift projects fails to build and compileXcode 8:大多数 Swift 项目无法构建和编译
【发布时间】:2017-05-06 08:58:12
【问题描述】:

我已经从 Xcode 6 升级到 Xcode 8.2,因为自从引入 Swift 以来的过去几年我一直没有进行开发。 现在,我注意到我从互联网上下载的所有项目,包括 Apple 的 Swift Playgrounds 和 Github 的所有 Swift 2.3 开源项目都无法编译。

首先我得到以下错误:

需要为使用 Swift 的目标正确配置“使用旧版 Swift 语言版本”(SWIFT_VERSION)。使用 [Edit > Convert > To Current Swift Syntax...] 菜单选择 Swift 版本或使用 Build Settings 编辑器直接配置构建设置。

当我根据 stackoverflow 中的其他答案修复它时,即通过将属性编辑器中的值设置为是,我得到各种 Swift 编译器错误,这些错误对于每个项目总是不同的,例如:

解包选项的值

'UITableViewCell?' 的失望到 'UITableViewCell' 只解开选项;您的意思是使用“!”吗?

Objective-C 方法 'parser:didStartElement:namespaceURI:qualifiedName:attributes:' 提供​​的方法 'parser(:didStartElement:namespaceURI:qualifiedName:attributes:)' 与可选要求方法 'parser(:didStartElement:namespaceURI:qualifiedName:attributes:)' 在协议'NSXMLParserDelegate'中

我做错了吗?到目前为止,除了我在 Xcode 中创建的空白选项卡式视图应用程序和我从 GitHub 下载的一个非常新的 Swift 3.2 应用程序之外,我还无法运行任何应用程序。

【问题讨论】:

    标签: swift


    【解决方案1】:

    你没有做错任何事。 Xcode 8 仅适用于 swift 2.3 或 3.x。它默认使用 swift 3 编译。这就是您看到的错误的原因。

    要使用 swift 2.3 进行编译,只需进入项目的构建设置并搜索 legacy swift 以找到正确的构建设置,然后将设置切换为 YES 以选择加入 Swift 2.3 而不是 Swift 3。

    您可能仍然会遇到一些编译错误,但由于 swift 版本的差异较小,因此会少很多。

    问题在于 3rd 方库,它必须与您的项目在同一版本的 Swift 中。因此,如果您使用的是 Swift 2.3,则不能使用用 Swift 3.0 编写的库。

    话虽如此,我还是建议您继续使用 swift 3 并修复错误。这并不难,因为 xcode 在大多数情况下都会建议正确的语法。

    【讨论】:

      猜你喜欢
      • 2017-02-11
      • 1970-01-01
      • 2017-01-10
      • 1970-01-01
      • 1970-01-01
      • 2017-11-30
      • 2020-05-02
      • 1970-01-01
      • 2021-03-23
      相关资源
      最近更新 更多