swift - 代码 8 : Most Swift projects fails to build and compile

标签 swift

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

首先我得到以下错误:

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

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

期权的值(value)展开

从“UITableViewCell”向下转换?到 'UITableViewCell' 只解包选项;您是要使用“!”吗?

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

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

最佳答案

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

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

enter image description here

你可能仍然会遇到一些编译错误,但由于 swift 版本之间的差异较小,所以会少很多。

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

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

关于swift - 代码 8 : Most Swift projects fails to build and compile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43818594/

相关文章:

ios - 测试设备上的结果始终为 100

swift - 扬声器问题 - WebRTC 和 iOS

ios - 展开 UITableView 单元格文本

ios - CAShapeLayer 左上角缺少像素

swift - 在 for 循环中的 Mapbox 中添加自定义标记

ios - 在 Swift 中格式化电话号码

inheritance - 使用 swift 在子类中设置基类 'let' 变量

ios - 使用 UIScrollView 中的动态内容调整 UiView 高度(Swift)

iOS 通知和位置服务权限在启动时多次显示

ios - 触摸 UITextField 以外的任何地方时如何关闭键盘( swift )?