2

这么快苹果就要发布 Swift 第三次迭代了,这既令人兴奋又令人恐惧。

我看到它不会与以前的版本向后兼容,并且通过Swift Evolution存储库,我了解到它会因为不支持 i++ 等语法更改或修改函数参数等而中断。

但是,这很容易采用,我更害怕的是项目管理不会编译(退出代码1)。就像使用与 Carthage 集成的动态框架、针对特定的构建参数或使用带有桥接头的 objc 库一样。

有谁知道除了过时的语法之外,Swift 3 是否会抱怨 Carthage 框架?还是上一段中所述的所有其他要点?

4

2 回答 2

0

是的,它会破裂。clang-importer 已经发生了根本性的变化,它是负责将 Objective-C 转换为 Swift 的编译器组件。这意味着桥接头已更改。此外,Objective-C 也发生了根本性的变化。但是,我认为它不会像您描述的那样简单。

源代码:https ://github.com/apple/swift-evolution/blob/master/proposals/0005-objective-c-name-translation.md

于 2016-06-20T04:05:15.207 回答
0

那么现在 Xcode 8 GM 版本发布了,我可以开始迁移我的项目,虽然最困难的部分是使用 Carthage 构建的第三方库,但它并没有我想象的那么糟糕(大多数库已经有swift 3 支持,如果没有,您可以随时 fork,转换为现代语法并使用它,只是不要忘记创建 PR)。

现在我的项目在 Swift 3 中启动并运行,为最终版本做好准备:)

于 2016-09-09T23:29:33.890 回答