swift 2.3到swift 3.0

我有一个项目是在xcode 7中使用swift 2开始的。我现在在xcode 8中使用swift 2.3。当我尝试迁移到pro 3时,我得到了几个错误没有项目。 来自库和我的代码。 首先,我更新我的pod,然后自动转换项目。 我的疑惑是:如果某些库可能会导致错误,我可以解锁并转换? 在开始对话之前我是否必须准备一些东西? 在我读到的文章中,我没有说任何其他内容。 如果你继续使用swift 2.3,你将来会遇到什么问题吗?

应用程序非常大,最佳选择是什么?

说实话? 自2014年以来使用Swift构建的任何项目都应该通过Swift 3.X了解代码打破每个新版本。 (我根本不是批评,只是实用。)今年,Swift 4.X正在努力不破坏Swift 3.X代码。

所以有了这个起点,这是我的想法:

  • 1备份正在运行的Swift 2.X应用程序并将其存档。 备份那个备份。
  • 2接受在3.X之前使用任何版本时应该知道的价格 – 转换是痛苦和耗时的。
  • 3尽可能不要使用第三方添加。 它们会增加迁移到最新版本的复杂性。
  • 4请考虑等待Swift 4.我根本不推荐这个,但是要考虑全局。 但永远记住,最终你不得不移植东西。 (好消息是Swift 3似乎足够稳定,可以说未来升级不会(至少)痛苦。
  • 5考虑一次迁移所有内容 。 (如果你在几个地方重复了那个黄金备份,那就更容易了。)是的,有办法将单个项目,文件等从2.X迁移到3.X – 和4.X(以及什么是可能Xcode 9)让事情变得更容易。 但是, 只有当你从3.X开始。
  • 6关于Swift 2.3 …最新版本的Xcode不会编译/构建Swift 2.3。 把它当作一个标志 – 有一天它将不再被App Store接受。 那天可能是2 – 3年(或没有),但是自从 ABI的承诺和版本兼容性意味着Swift 3.0 以来已经差不多2年了。 顺便说一句,只有后者发生了。

欢迎来到快速发展的语言世界!

编辑:关于第3点(尽可能避免第三方添加ins),我找到了两个表达可能出现的问题的链接:

分析第三方图书馆

避免第三方UI库