【问题标题】:ABI Stability: Is it related with OS or Hardware?ABI 稳定性:它与操作系统或硬件有关吗?
【发布时间】:2019-05-24 08:04:13
【问题描述】:

ABI 稳定性:这是 swift 5 自带的。它与操作系统或硬件有关吗?它是仅适用于新设备还是适用于具有新操作系统的旧设备?

【问题讨论】:

标签: swift swift5


【解决方案1】:

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

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

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

根据Swift 5 Release Notes 的 Apple 文档

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

您也可以查看Swift 5.0 - 9to5Mac

【讨论】:

    【解决方案2】:

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

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

    ABI 稳定性与“App Thinning”相关 根据苹果 Swift 应用程序不再包含 Swift 标准库的动态链接库

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多