Swift 5 个应用程序是否能够 运行 仅在特定的 iOS 版本上?

Would Swift 5 apps be able to run only on specific iOS versions?

最近我读了一些关于 Swift 5 是 ABI 稳定的文章(这基本上意味着你不需要在应用程序包中打包应用程序自己的 Swift 动态库版本)这是令人困惑的部分:

因为 Swift 将嵌入 iOS 操作系统

听起来 Swift 动态库现在可以直接进入 iOS。这是否意味着编译 Swift 5 的应用程序将能够 运行 仅在特定的 iOS 版本上?

您走在正确的轨道上,但重点是该应用程序只会 运行 在特定 iOS 版本 或更高版本 上。 ABI 稳定性的整体目标是允许使用 Swift 的一个版本编译的 Swift 二进制文件(即应用程序)能够与使用 Swift 编译的二进制文件(即框架)进行互操作Swift.

的不同版本

但是,是的,要利用 ABI 稳定性,您的应用程序只能 运行 iOS 13(或事实证明​​是的任何版本)或更高版本。

这就是 ObjC(以及 C 和 C++ 以及大多数语言)中的工作方式。我可以在 iOS 10 上构建我的 Objective-C 应用程序,并期望它将 link 与 Foundation 和 UIKit 在 iOS 11 上毫无问题。你今天不能用 Swift 图书馆做到这一点。