Swift 3会破坏与Carthage集成的动态框架吗?

时间:2016-06-02 14:13:02

标签: swift swift3 carthage bridging-header

很快苹果将发布Swift第三次迭代,这既令人兴奋又可怕。

我看到它不会向后兼容以前的版本,并且通过Swift evolution repo,我明白它会因为不支持i ++这样的语法更改而中断,或者修改参数功能等。

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

有没有人知道Swift 3是否会抱怨Carthage框架除了过时的语法?或者上面段落中陈述的所有其他要点?

2 个答案:

答案 0 :(得分:0)

是的,它会破裂。对clang-importer进行了根本性的改变,这是负责将Objective-C转换为Swift的编译器的组件。意味着桥接头已更改。而且,Objective-C已经从根本上改变了。但是,我并不认为它会像你描述的那样直截了当。

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

答案 1 :(得分:0)

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

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