【问题标题】:Is it still "dangerous to rely on binary frameworks that use Swift"?仍然“依赖使用 Swift 的二进制框架很危险”吗?
【发布时间】:2018-03-22 03:15:22
【问题描述】:

在 2014 年 7 月 11 日的 Swift 博客 https://developer.apple.com/swift/blog/?id=2 中,它指出:

"如果您的项目使用框架与嵌入式共享代码 扩展,您将需要构建框架、应用程序和扩展 一起。依赖二进制框架是危险的 使用 Swift——尤其是来自第三方的。随着 Swift 的变化,那些 框架将与您的应用程序的其余部分不兼容。当。。。的时候 二进制接口在一两年内稳定下来,Swift 运行时将 成为主机操作系统的一部分,此限制将不再存在。”

自那时以来已经快 3.5 年了,这比“一两年”还多。 Xcode 9、iOS 11 和 Swift 4 是目前的标准。这仍然是真的吗?如果是这样,预计什么时候会改变?

我想将 SDK 从 Objective-C 转换为 Swift,它需要作为二进制文件分发(至少部分)。

...

更新:我在“可能的 Swift 4 第 2 阶段努力”下找到了这个 https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160725/025676.html

"- .swiftmodule 稳定性:在某些时候我们需要稳定 “.swiftmodule”二进制文件格式(或用不同的替换它 机制)以允许第 3 方二进制框架。这是一个非常大的 超出 ABI 稳定性所需的工作量 标准库。”

这能回答我自己的问题吗?这就是我们现在所处的位置吗?

【问题讨论】:

    标签: swift xcode frameworks


    【解决方案1】:

    根据answer provided by Apple

    “依赖使用 Swift 的二进制框架仍然很危险”吗?

    是的。

    这东西很复杂,所以I’m 将推迟到Swift ABI Stability Manifesto 了解详细信息。但是,执行摘要是:

    • 为 Swift 5 计划了 ABI 稳定性(请参阅 this page
    • 模块格式稳定性仍然没有目标日期
    • 不同时分发二进制框架是个坏主意

    【讨论】:

      猜你喜欢
      • 2016-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-08
      • 1970-01-01
      • 2019-12-30
      • 2016-06-18
      • 2018-10-17
      相关资源
      最近更新 更多