依赖使用Swift"的二进制框架仍然是危险的吗?

时间:2017-10-10 16:17:16

标签: swift xcode frameworks

在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稳定性所需的工作量   标准库。"

这回答了我自己的问题吗?那是我们现在的位置吗?

1 个答案:

答案 0 :(得分:2)

answer provided by Apple

  
    

依赖使用Swift"的二进制框架仍然是危险的吗?

  
     

     

这个东西很复杂,所以I’m会按照Swift ABI Stability Manifesto的详细信息。但是,执行摘要是:

     
      
  • 计划在Swift 5中使用ABI稳定性(参见this page
  •   
  • 模块格式稳定性仍然没有目标日期
  •   
  • 在没有这两者的情况下分发二进制框架是一个坏主意
  •