WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

一、版别阐明

XCode 15 beta 发布于 2023 年 6月5日, 可支撑 macOS 13.3 或以上版别, 你能够按需下载需求的平台。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

二、新增特性

1.代码智能提示 (Code completion)

•创立新的文件在引证时的提示

首要创立一个新的文件

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

然后,在引证的当地,输入文件首字母会当即主动弹出补全提示。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • 函数调用时列出一切或许的参数排列

在没有提示的情况下,调用函数时怎么传参往往是比较困难的,不知道能够传哪些参数, 现在 XCode 将列出一切可供挑选的或许,你能够更轻松找到适宜的参数列表并挑选它。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • 主动剖析代码上下文,并给出最适宜的主张。

例如在 Text 组件调用中,输入”点号” 后,在弹出的提示列表中的最上方会提示 font (此刻 Text 还没设置 font ),这是由于XCode剖析了上下文,“识别出” 这是一个 Text, 并且此刻还没有设置过字体,你或许需求它,因而将字体放在主张的最上方。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

2.财物文件作为变量引证 (Asset catalogs)

过去财物文件如图片是以 “字符串” 作为图片称号在代码中被引证,现在直接经过类似变量的标识符去引证它,它能够承受编译时的检查。

  • 财物引证的编译检查

修正财物的称号为 “MultipleClouds ” 后,引证处产生了编译过错

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

这是由于此前财物的称号是 “clouds”, 现在,编译器提示你修正它为 “MultipleClouds”。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • 代码中引证图片财物的智能引荐

修正财物的称号时,能够获得XCode 的智能引荐。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

3.本地化资源会集办理 (Localization)

  • 旧项目的本地化文件搬迁

XCode 设置中 挑选 Edit > Convert to string catalog, 此刻 XCode 会主动扫描工程中的 storyboards、.strings、 以及 .stringsdict 类型的文件。并将其列在下图所示的列表中,你能够根据需求挑选部分或全部文件进行搬迁。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

搬迁完结后,一切的本地化翻译将被整合到一个 Localization 目录中,你还能够检查到不同言语翻译的进展。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • 追踪代码中的字符串改变

每次构建时,XCode 会主动提取代码中的一切字符串。当增加新字符串或删去某个字符串时,本地化目录会符号出受影响的当地,并给出 “陈腐” 和 “新增” 的符号进行凸显,然后提示你去翻译或许删去它。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

4.文档 (Documentation)

  • 新的文档卡片样式

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • 文档小助手

挑选小助手,然后挑选文档预览。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

左面是代码,右边能够看到对应的文档,你能够实时修正和预览,这看起来有点像 MD。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

5.新增 Swift 宏 (Swift macros)

系统部分结构现已完结了宏,如 Swift standard library、foundation、 以及一个新的 Swift data framework.

  • 创立宏包 (macro package)

运用快捷键 Command-Shift-A, 然后在弹出的输入框中输入 New package 能够快速创立一个带有样例代码的宏包,你能够修正并完结它。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

然后挑选 Swift Macro

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

以下是一个现已完结的宏包 EnumHelper,而CaseDetection 被完结为一个宏,宏的代码和一般的 swfit 代码没什么大的区别。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

以下是引证了宏包 EnumHelper 中的宏 @CaseDetection,它默许会躲藏了宏完结,

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • 打开宏和断点调试

当你需求时,你能够挑选打开宏,经过 Editor > Expand Macro 能够打开它。

打开后,还能够运用断点,如下图所示:

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

6.运行时预览 (Previews)

  • 基于宏快速创立一个预览实例

运用宏 #Preview 快速创立一个预览实例, 在右侧边栏能够看到预览作用。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

以下持续增加了一个带称号的预览实例,当有多个预览实例时,能够在右侧边栏的左上角切换tab 预览对应实例。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • AppKit 及UIKit 的预览支撑

为了兼容非SwiftUI 的代码,可支撑对旧工程的 Appkit 及 UIKit 增加预览。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • Widget 预览支撑

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

7.书签功用 (Bookmark)

  • 增加书签

你或许经常会遇到忘掉此前关注或运用的一些重要代码,在你想要找到之前的那些代码时,你发现没有办法快速找到它。现在,经过增加可命名的书签来符号他们。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

增加完结后,书签被展现在左面栏的书签tab下。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • 书签分组

你能够将多个书签打包成一个组,作为有关联性的代码。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

你也能够设置一个组名,便于查找和了解。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • 设置为代办或完结

你能够将书签作为任务来办理,比如你能够将书签设置为完结状况,它将会在左边显现一个对勾。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

8.代码版别控制 (Source Control Navigation)

  • 版别控制面板

在新的面板中,一切的版别改动将会集在一个文件中一同预览,经过上下滑动能够看到多个文件的修正内容,然后避免来回切换修正的文件。

修正的预览是可交互的,你能够经过操作来扩展预览区域,然后检查当时修正处的更多上下文。

除了预览,你还能够直接在当时界面下持续修正,修正完结后,能够提交 commit,然后push。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

可经过左边的竖条修正状况。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

小结:代码修正的预览、修正、提交、推送都在同一页面下,减少不必要的界面切换,操作更快捷。

9.测验 (Testing)

  • 测验面板

Apple 对新的测验面板运用Swift 进行了重写,提速了45%,下图事例列出了测验计划中的测验用例。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • 检查测验成果

测验成果的全体统计信息看起来简明扼要,主要包含:

Top Insights: 剖析测验成果,给出一些问题剖析的主张,包含过错的原因、分布、最耗时的测验用例。

Tests: 展现测验用的统计数据,包例成功率,按机型、言语分类,以及过错列表。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • 可交互的测验用例回放

测验用例的概况信息能够被检查,它展现了主动化的测验过程,以及标出产生过错的节点,你能够经过以上信息来帮助找出问题的原因。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

10.调试 (Debugging)

OSLog 可用来很好的捕获运行时信息。它可界说及搜集结构化的日志信息,使日志看起来井井有条,接下来让咱们看看怎么运用它。

首要,运用 OSLog 编写一段日志:

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

默许情况下,日志的元信息是被躲藏的,仅显现开发者输入的日志信息,控制台中对不同严峻程度(如 info、 notice 、error 等)的日志,符号为不同的色彩以示区别。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

你能够挑选性的增加展现日志的分类,包含子系统类别等元信息。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

还能够过滤不同严峻程序的日志。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

最后,咱们能够经过操作某条日志,跳转到日志代码界说处。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

11.分发 (Distributing)

  • 新增 TestFlight 包的补白信息

你能够给 TestFlight 的包增加一些附属的补白信息,例如需求测验哪些内容的阐明,这些信息会被展现给获取 TF包的测验者。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • 检查结构签名

XCode 引入了XCFrameWork 能够对签名的结构进行验签,然后显现其来历,并保障其完整性不被损坏,然后树立结构的信赖机制。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • 隐私清单

结构作者能够给自己的结构增加隐私清单,来阐明隐私的运用情况和怎么维护敏感数据。隐私清单会与结构捆绑一同签名,因而,隐私清单是可被信赖的。

来看看下图所示的隐私清单:

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

你能够运用XCode能够生成和检查完整的隐私报告

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

  • TestFlight 仅分发到内部测验

当修正问题时,你不期望测验包被实在用户看见,这时你能够经过勾选 “仅分发给内部测验” 然后只分发给自己公司或团队的测验者 ,这样能够避免被误发给共测用户。

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

以下是另外一个操作内部测验的途径

WWDC2023 Session系列:探索XCode15新特性 | 京东云技术团队

三、总结

XCode15 在开发效率和功能、安全提高上主要表现为以下归纳的内容:

更简练: 主要体现在宏、文档、和日志上。

更智能: 提高主动补全代码能力、提高测验剖析能力。

更快捷: 包拆分下载、代码补全、书签、git会集办理,本地化会集办理。

更安全: 图片财物符号化办理, 经过对结构和隐私的处理,使得代码更加安全。

作者:京东零售 王晰源

来历:京东云开发者社区