swift 2.3 swift 3.0
我有一个在xcode 7中使用swift 2开始的项目。我现在在xcode 8中使用swift 2.3。当我尝试迁移到pro 3时,出现了几个错误,没有项目。无论是从图书馆和我的代码。首先我更新我的豆荚,然后做一个项目的自动转换。我的疑惑是: 如果一些图书馆可能会导致错误,我可以解锁它并转换? 在开始对话之前我需要准备些什么吗?在我阅读的文章中,我没有提到其他任何事情。 如果您继续使用swift 2.3,您是否会遇到任何问题?swift 2.3 swift 3.0
该应用程序非常大,什么是最好的选择?
老实说?任何使用Swift构建的项目自2014年以来都应该通过了解代码将分解为每新版本通过Swift 3.X. (我一点也不关键,只是实际。)今年,Swift 4.X正在努力不要打破Swift 3.X代码。
因此,既然出发点,这是我的想法:
- 1拍摄工作斯威夫特2.X应用程序的备份和归档。备份即备份。
- 2接受应该有在3.X之前使用任何版本时已知的价格 - 转换将将是痛苦和费时。
- 3尽可能地,不要使用第三方添加。它们会增加迁移到最新版本的复杂性。
- 4请考虑等待斯威夫特4.我不是推荐这个,但是说着考虑一下大局。但永远记得最终你将必须端口的东西。 (好消息是Swift 3似乎足够稳定,说未来的升级不会(至少)是痛苦的)
- 5考虑迁移一切一次(如果你有那个金色备份在几个地方复制, )是的,有许多方法可以将个别项目,文件等从2.X迁移到3.X - 和4.X(以及可能的Xcode 9),使事情变得更容易。但是只有如果你是从3.X开始的
- 6 Regards to Swift 2.3 ...最新版本的Xcode不会编译/编译Swift 2.3。以此为标志 - 有一天它将不再被App Store接受。那一天可能要2-3年(或不是),但它差不多是2年的,因为 ABI和版本兼容性的承诺是针对Swift 3.0的。顺便说一句,只有后者发生。
欢迎来到一个快速发展的语言世界!
编辑:问候点#3(避免第三方加载项如果可能的话),我发现两个环节表达的问题,可以拿出:
我倾向于在“最坏的计划,最好的希望”方式中回答。我的应用程序没有问题 - 但我有三个好处。 (1)我从Swift/Xcode的最早测试版开始。尽管整个过程中都有问题和变化,但我从第1天开始准备就绪。(2)我最不擅长的领域涉及到CoreImage内核,而且我有一位出色的源代码,他*还*就需要什么进行了博客。但最重要的是 - 我试着在我的回答中强调这一点 - 我有意识地决定在不可能的情况下使用任何第三方代码。我知道这在其他地方并不实用,但这是恕我直言的最棘手的事情。 – dfd
应该只是坚持obj c – YaBoiSandeep
我们最近经历了这样的转换。至少可以说是可怕的。我们遵循混合的方法来完成它。自动转换,手动代码更改,错误修复和大量测试。 – humblePilgrim
Mozilla最近完成了:https://mozilla-mobile.github.io/ios/firefox/swift/core/2017/02/22/migrating-to-swift-3.0.html 简而言之,它可能长而复杂。 Swift 4应该允许“旧的Swift代码”,但我强烈建议至少使用Swift 3,至于未来的版本。先检查一下你的所有依赖关系(例如,pod有一个Swift 3版本)。 – Larme
这是一个好主意,有一个项目的副本。我已经使用这个选项来转换一个相对较小的应用程序,我需要一个小时来修复所有的错误(许多人可以选择自动修复它们) – i6x86