阳光倾泻而下,他的身影穿过院子,提利昂·兰尼斯特昂首挺立,仿佛是一位国王。
–《 冰与火之歌》
前言
- 一路从Xcode 10的Beta版试用下来,总的来说这一版本的Xcode相比之前还算是有很大提升的,至少感觉和历代相比第一个测试版就赢在起跑线上了,虽然并没有加入非常多酷炫的功能,但是在一些细节的打磨上个人还是比较喜欢的。
- 随着Xcode 10正式版的发布,我们也终于迎来了swift 4.2,因为Swift 4.2 是为 Swift 5 的 ABI 稳定性做准备,虽然包含了一些底层 ABI 的变化,具体的变化请参考官方博客,相较于上一个版本变化并不是非常的大。
迁移
- Swift版本迁移实质上两部分的迁移:第一部分是项目中用到的三方库的版本升级;第二部分是我们主项目版本迁移。
主项目迁移
首先在项目的
Build Setting
中将Swift版本设置为最新的版本4.2
, 如下图:在
Edit -> Convert -> To Current Swift Syntax
进行转换。勾选需要转换的指定的Targets,此时如果还没有更新三方库或者部分三方库还未适配Swift4.2,可以只勾选我们需要的Targets即可,如只勾选主Target。
- 完成后直接点击下一步等待完成。
转换完成,就会弹出如下编辑界面,将项目中需要修改的地方一一修改即可,都是一些语法变化相关的,大部分根据提示自动修复即可。
修改完成,点击保存,重新编译项目。
三方库迁移
- 关于三方库的迁移,一般我们在项目中使用的都是比较流行的开源库,所以这些库的维护和更新是非常频繁和及时的,我们可以将我们用到的三方库列一个表,然后具体查看升级swift4.2的情况,基本上如果这些库是比较热门的,一两天内就会适配swift4.2,即使没有适配我们也可以单独只迁移适配过的库。
首先,将本地的Pod仓库和使用的库更新到最新版本,如下图:
然后选择
Edit -> Convert -> To Current Swift Syntax
进行转换,注意在勾选需要转换的Target的时候根据我们具体用到的已经升级swift4.2的库勾选即可,没有升级适配swift4.2的库可以先不要勾选,等以后适配了在迁移,如果一切正常,就可以开心的喝着咖啡、吃着零食等下班了。