我已经发布了几个用 Swift 2.0 和 2.1 编写的应用程序。现在苹果刚刚开源了 Swift,并宣布明年将发布 Swift 3.0。那么,在 Swift 3.0 发布后,我的应用程序还能运行吗?
问问题
2351 次
2 回答
11
如果你问你用 Swift 2.0 / 2.1 编写的代码是否可以在 Swift 3.0 下编译,它可能不会。引用自Swift Programming Language Evolution:
完整的源代码兼容性:Swift 3.0 将不提供完整的源代码兼容性。相反,它可以并且将会引入支持 Swift 3.0 主要目标所需的破坏源代码的更改。
但就像@Randy 所说,您之前编译的应用程序仍将运行。
于 2015-12-04T05:12:57.933 回答
11
我想你在这里问了两个不同的问题。
- 当 Swift 3 启动时,您的应用程序会在新操作系统上执行吗?
- 您的应用程序在新操作系统启动时能否正常运行?
关于第一个问题,是的,即使您的应用程序是针对 Swift 2 编译的,它也会执行。Swift 应用程序的包中嵌入了 Swift 运行时库,因此您在这方面是安全的。您会注意到 Swift 包总是比它们的 Objective-C 对应包大 4-5 MB,这正是原因所在。
关于第二个问题,与任何新的操作系统版本一样,无法保证您的应用程序将像在以前版本的操作系统上那样运行。虽然,根据我的经验,Apple 在过去几个操作系统版本中保持向后兼容方面做得相当不错,尽管您的里程可能会有所不同。
于 2015-12-04T03:47:42.767 回答