在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,它需要以二进制形式分发(至少部分)。
...
更新:我发现这个https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160725/025676.html表明了#34;可能的Swift 4阶段2的努力":
" - .swiftmodule稳定性:在某些时候我们需要稳定 “.swiftmodule”二进制文件格式(或用不同的替换它 机制)允许第三方二进制框架。这是一个非常大的 超出ABI稳定性所需的工作量 标准库。"
这回答了我自己的问题吗?那是我们现在的位置吗?
答案 0 :(得分:2)
依赖使用Swift"的二进制框架仍然是危险的吗?
是
这个东西很复杂,所以I’m会按照Swift ABI Stability Manifesto的详细信息。但是,执行摘要是:
- 计划在Swift 5中使用ABI稳定性(参见this page)
- 模块格式稳定性仍然没有目标日期
- 在没有这两者的情况下分发二进制框架是一个坏主意