Swift 3 模式已被弃用

Posted

技术标签:

【中文标题】Swift 3 模式已被弃用【英文标题】:Swift 3 mode has been deprecated 【发布时间】:2018-11-06 11:52:32 【问题描述】:

在 Xcode 10.1 中,每当我构建应用程序时都会收到警告

,将在稍后移除 Xcode 版本。请使用 Edit 菜单中的“Convert > To Current Swift Syntax...”将“My Appp”迁移到 Swift 4.2。 (在目标“我的应用”中)

如何抑制警告?

我尝试转换但转换失败,此外我的应用依赖于一些我无法以任何方式转换的 Pod/库。

有没有办法停止看到警告?

【问题讨论】:

【参考方案1】:

很遗憾,无法删除它。您需要手动将您的 Pods / 库更新到 Swift 4.x 或等到有人为您完成这项工作。否则,将来您将无法使用更新的 Xcode 版本构建项目。

来自https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes:

Xcode 10 是支持 Swift 3 的最后一个版本。通过打开项目并选择 Edit > Convert > To Current Swift Syntax...,将项目从 Swift 3 代码迁移到 Swift 4.2 语法... (43101816)

【讨论】:

谢谢。请问您是从哪里获得这些知识的? 在developer.apple.com/documentation/xcode_release_notes/… 中有说明。 Xcode 10 是支持 Swift 3 的最新主要版本。Xcode 11 甚至不允许您在构建时出现警告,因此您必须将 Pod/库更新到更新版本。 谢谢,但我问的是您声明中的“无法删除”部分。我知道需要迁移只是不想每天都看到警告。 该警告来自项目配置本身,除非您想静音所有警告,否则无法删除它。开始迁移依赖项会更有效率。祝你好运 这一切都很好,但我已经这样做了,警告仍然没有消失。我说的是 Cocoapod 依赖项。【参考方案2】:

下载 Xcode 10.1 以便能够使用 Swift 3 或 Pod decencies 编译您的代码:

https://developer.apple.com/download/more/?name=Xcode

【讨论】:

以上是关于Swift 3 模式已被弃用的主要内容,如果未能解决你的问题,请参考以下文章

'openURL'在iOS 10.0中已被弃用:请使用openURL:options:completionHandler:而不是在Swift 3中[重复]

PluginRegistry 中的注册器已被弃用

“++”和“--”运算符已被弃用 Xcode 7.3

Spring RMI 的替代方案是啥? (因为它已被弃用)

如果 ActiveRecord::Base#create 在 3.2.13 中已被弃用,我仍然如何使用它?

为啥 InstanceMethods 模块已被弃用?