WWDC22 - Xcode 14 新特性

| Swift , iOS , WWDC

 

内容概览

  • 前言
  • 更好的 SwiftUI 预览体验
  • 更易用的代码补全和代码导航
  • 多平台应用
  • 更强大的 Organizer
  • 超多性能提升与功能优化
  • 总结

 

前言

 

Xcode 14 重新设计了 SwiftUI 的预览体验,强化了代码补全导航

除此之外,还有更好用的 TestFlight 呢。一句话总结就是:更快,更强,更易用

和 Ficow 一起来看看吧~

 

更好的 SwiftUI 预览体验

 

全新的预览界面,默认支持可交互的状态,不需要你再去点击其他按钮来激活交互模式:

现在,你可以很方便地预览当前界面的多个变体:

比如,预览多个动态类型(Dynamic Type)下的界面布局效果,你可以很容易地发现布局错乱的问题:

点击某个变体,即可选中它:

请注意看,底部有 AX5 的标识,代表这是最大号的变体了。完整的动态类型列表,请参考 HIG - Foundations - Typography

 

更易用的代码补全和代码导航

 

代码补全

从现在开始,你不需要辛辛苦苦地自己手打初始化方法了。开心吗?

按下回车,你的初始化方法就搞定了~

而且,这也支持 Codable 协议喔!

 

如果,方法中带有默认参数,新版的代码补全更好用呢:

默认参数会是斜体的样式:

如果需要选择默认参数,输入默认参数的关键字即可,如果要选择所有的参数就按下 Option + Enter

如果方法里面有很多默认参数:

这个特性可以帮助你快速选择自己需要的默认参数呢:

 

现在,你可以很方便地找到 SFSymbols 里面的图标啦。在代码编辑器页面点击 Library 图标:

然后,选择最后的 Symbols 分类,再选择或者搜索你想要的图标即可:

选中图标,按下回车,就可以生成相应的代码呢:

 

代码导航

按住 Command,然后鼠标左击对应的方法,你会看到该协议相关的所有方法:

你可以通过图标文件名,很快地识别出不同选项之间的差异。上图中的第一个选项是协议的定义,而后面两个是不同的实现。

现在,Xcode 14 还可以精确定位 Swift(5.7) Regex 里面的正则表达式错误呢:

纠正拼写错误之后,错误便消失了:

 

这个新特性更棒呢,方法和类型名悬浮在相关代码的上方:

当一个方法的代码太长,或者一个文件中有多个类型的时候,这个特性就很有用了。

而且,你可以很方便地点击红色的叉子,开始新的单元测试。

 

多平台应用

 

现在,你可以在一个 Target 里面构建多平台应用,而不需要以前那样为多个平台构建多个 Target

具体操作方式,请参考:
Use Xcode to develop a multiplatform app

不过,根据视频内容,好像只是支持 iOS 和 macOS 喔。

 

更强大的 Organizer

 

TestFlight 测试反馈

现在,你可以在 Xcode 的 Organizer 中直接查看测试用户上报的 TestFlight反馈:

你可以看到,这个界面有截图、有描述,还有具体的设备、App、测试者信息呢!

如果问题解决了,可以很方便地 标记为已解决;如果需要和测试者联系,也可以 直接发邮件给测试者。真的很方便~

Hangs 应用卡顿监控

你可以看到,这个页面提供了很多信息,卡顿严重性、调用栈、设备信息、操作系统占比、查看项目源码等等

尤其是 查看项目源码 这个功能,这是其他卡顿收集平台很难做到的。毕竟 Xcode 是苹果亲儿子,后续的优化还有很多想象空间呢 ……

相关内容,请参考:
Track down hangs with Xcode and on-device detection

 

超多性能提升与功能优化

 

安装包尺寸

Xcode 14 的安装包减小了 30%,你可以自行选择是否安装额外的平台和模拟器:

项目构建效率

构建框架和应用的效率也进一步被提升:

Xcode 14 通过充分利用并行来提速:

通过并行,链接器的效率也提升了 2 倍。整体的构建效率提升了 25%,越多核的设备效果越明显,快去买买买吧~

想进一步优化项目的构建效率,你可以参考 构建时间线

找出并行效率低下的部分,然后进行相应的优化:

如果你想进一步优化构建效率,可以参考:
Demystify parallelization in Xcode builds
Link fast: Improve build and launch times

并行测试

除此之外,并行测试可以让你的测试运行得更快。Xcode 14 通过减少依赖,进一步强化并行测试的效率高达 30%

如果你想编写更高效的测试代码,请参考:
Author fast and reliable tests for Xcode Cloud

Interface Builder

  • 加载文档,提速 50%
  • 切换设备,提速 30%

即使是超大的 Storyboard,现在也可以迅速响应你的操作。

内存调试器

我们可以用内存调试器来检查内存泄露问题:

现在,Xcode 14 可以给出更多引用的细节呢:

Swift Package Plugins

现在,你可以通过 Swift 包插件来扩展 Xcode的功能哟!看来,苹果又可以借助开源社区的力量来强化自己的生态了~

比如:代码检查、格式化、代码自动生成、资源压缩等等:

相关内容,请参考:
Meet Swift Package plugins
Create Swift Package plugins

本地化

Xcode 14 可以帮助你更好地处理本地化文本,导出、翻译、再导入:

相关内容,请参考:
Build global apps: Localization by example

设备和方案选择

设备和方案选择面板可以记录最近选项:

终于不用在一堆模拟器中选来选去了 😂 估计以后我们基本上只会用到 Recent 里面的选项呢。

当然,搜索功能也挺好用的:

应用图标配置

下面是你熟悉的图标配置面板,我们总是需要裁切各种尺寸的图标:

而现在,只需要一张 1024 x 1024 的大图,然后选择 Single Size,剩下的交给 Xcode 来完成就好:

 

总结

 

Xcode 14, 更快,更强,更易用~

话不多说,我已经用起来了,你呢?

如果你发现了什么尚未公之于众的新奇特性,也欢迎你留言和 Ficow 交流呀~

 

参考内容:
What’s new in Xcode(14)

 

觉得不错?点个赞呗~

本文链接:WWDC22 - Xcode 14 新特性

转载声明:本站文章如无特别说明,皆为原创。转载请注明:Ficow Shen's Blog

评论区(期待你的留言)