ABI稳定性:与操作系统或硬件有关吗?

时间:2019-05-24 08:04:14

标签: swift swift5

ABI稳定性:迅速提供5。它与OS或硬件有关吗?它将仅适用于新设备还是将适用于具有新操作系统的旧设备?

2 个答案:

答案 0 :(得分:1)

ABI稳定性完全是软件的一部分,而不是硬件。

当语言对ABI稳定时,这意味着可以将其打包并直接链接到操作系统本身。在Swift 5.0之前,如果您构建Swift应用程序,则会将Swift动态库嵌入到该包中,以支持您的特定Swift版本

ABI稳定性使操作系统供应商可以在与使用Swift 5或更高版本构建的应用程序兼容的操作系统中嵌入Swift标准库和运行时。

根据Swift 5 Release Notes的Apple文档

  

Swift应用程序不再包含用于   用于构建变体的Swift标准库和Swift SDK覆盖   运行iOS 12.2,watchOS 5.2和tvOS 12.2的设备。

您还可以查看Swift 5.0 - 9to5Mac

答案 1 :(得分:0)

ABI代表应用程序二进制接口

ABI稳定性使操作系统供应商可以在与使用Swift 5或更高版本构建的应用程序兼容的操作系统中嵌入Swift标准库和运行时。

苹果公司 Swift应用程序不再包含用于Swift标准库的动态链接库 ,因此ABI稳定性与“应用程序精简”有关。

以前,Swift并不是ABI稳定的,因此每个二进制文件都捆绑了自己的Swift动态库版本。如果打开.ipa,则可以在SwiftSupport或Frameworks中找到快速的标准库(.dylib),这会使.ipa的大小变大,但是相对较小,而现在的iphone和以前的iphone模型现在可以拥有更多的应用程序。