Swift 5应用程序只能在特定的iOS版本上运行吗?

时间:2018-10-11 15:28:40

标签: ios swift abi swift5

最近,我读了几篇有关Swift 5是ABI Stable的文章(这基本上意味着您不需要在App捆绑包中打包应用程序自己的Swift Dynamic Library版本),这是令人困惑的部分:

,因为Swift将被嵌入到iOS操作系统中

现在,听起来像Swift动态库现在可以直接进入iOS。这是否意味着Apps编译的Swift 5将只能在特定的iOS版本上运行?

1 个答案:

答案 0 :(得分:12)

您的方向正确,但要点是该应用只能在特定的iOS版本或更高版本上运行。 ABI稳定性的全部目标是允许使用一个版本的Swift编译的Swift二进制文件(即应用程序)能够与使用不同版本的Swift编译的二进制文件(即框架)进行互操作。 >

但是,是的,要利用ABI稳定性,您的应用只能在iOS 13(或任何后来的版本)或更高版本上运行。

这是事物在ObjC(以及C和C ++以及大多数语言)中的工作方式。我可以在iOS 10上构建我的Objective-C应用程序,并期望它可以与iOS 11上的Foundation和UIKit链接,而不会遇到麻烦。您今天无法使用Swift库做到这一点。