【问题标题】:Is Swift 3 fully backwards compatible with previous OS versionsSwift 3 是否完全向后兼容以前的操作系统版本
【发布时间】:2016-10-20 21:55:22
【问题描述】:

我最近开始使用 Xcode 8 测试版在 Swift 3.0 中开发 Mac 应用程序。我计划在 8 月中旬之前完成开发,这将在 macOS 公开发布之前。我当前的开发机器运行 El Capitan 并且我编译的 Swift 3.0 代码在当前操作系统版本上运行良好,这是一个好兆头,但我有点担心在以前的 OS X 版本上运行代码可能会出现一些问题(例如10.10)。这是一个有效的担忧吗?另外,我什至可以在 macOS 发布之前使用 Swift 3.0 发布应用程序吗?

【问题讨论】:

  • Swift 应用程序兼容低至 10.9 (Mavericks)。但真正的困难是让应用在所有版本中的外观和行为保持一致(一些 SDK 发生变化,一些被添加)。
  • Eric D,似乎 Swift 3.0 的主要区别在于 API 语法更改(例如,Grand Central Dispatch 有一个主要的语法 swiftizing 和重组,但我怀疑大部分实际实现是否被修改,如果任何)。如果是这种情况,那么行为变化应该不是一个大问题,对吗?
  • 正确 - 重要的更改首先要经过通常的弃用步骤。

标签: swift macos swift3 macos-sierra


【解决方案1】:

每个 Swift 应用程序都附带 Swift 标准库。这样做的好处是默认情况下它可以在多个操作系统版本上运行。不利的一点是,它会为您的最终应用程序包增加几 MB。

是的,您的应用可以在以前的版本上运行,但请记住,在 Xcode 8 GM 发布之前,您无法将应用提交到 Mac App Store。

【讨论】:

  • 那么在 macOS 发布之前,任何用 Swift 3 编写的代码都无法发布?
  • @Jonny:阅读最后一段...developer.apple.com/support/beta-software
  • @l'L'l,感谢您的链接。那么我假设 Swift 标准库中的所有实现代码都包含在应用程序包中是否正确?
  • 但是,您不能使用 Swift 为 iOS 6 及更早版本构建应用程序,这同样适用于 OS X。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-19
  • 2014-12-03
  • 2017-12-08
  • 2021-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多