2017-10-10 65 views
2

在斯威夫特博客https://developer.apple.com/swift/blog/?id=2從2014年7月11日,它指出:依賴使用Swift的二進制框架仍然「危險」嗎?

「如果你的項目使用的框架與嵌入式 擴展共享代碼,你將要構建的框架,應用和擴展 如果依賴於二進制框架,使用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下 「可能斯威夫特4第2倍階段的努力」 的規定:

「 - .swiftmodule穩定性:在某些時候,我們需要穩定 「.swiftmodule」二進制文件格式(或將其替換爲不同的 機制)以允許使用第三方二進制框架。這是一個非常大的工作量,超過 所需的ABI穩定性rd庫「。

這是否回答我自己的問題?我們現在在哪裏?

回答

2

每一個answer provided by Apple

是它仍然是 「危險的依賴於使用SWIFT二元框架」?

是的。

這個東西很複雜,因此I’m將按照細節Swift ABI Stability Manifesto。然而,內容提要是:

  • ABI穩定性,計劃於5斯威夫特(見this page
  • 模塊格式的穩定性仍然沒有一個目標日期
  • 分發二進制框架無倆是一個壞想法