一、版别阐明
XCode 15 beta 发布于 2023 年 6月5日, 可支撑 macOS 13.3 或以上版别, 你能够按需下载需求的平台。
二、新增特性
1.代码智能提示 (Code completion)
•创立新的文件在引证时的提示
首要创立一个新的文件
然后,在引证的当地,输入文件首字母会当即主动弹出补全提示。
- 函数调用时列出一切或许的参数排列
在没有提示的情况下,调用函数时怎么传参往往是比较困难的,不知道能够传哪些参数, 现在 XCode 将列出一切可供挑选的或许,你能够更轻松找到适宜的参数列表并挑选它。
- 主动剖析代码上下文,并给出最适宜的主张。
例如在 Text 组件调用中,输入”点号” 后,在弹出的提示列表中的最上方会提示 font (此刻 Text 还没设置 font ),这是由于XCode剖析了上下文,“识别出” 这是一个 Text, 并且此刻还没有设置过字体,你或许需求它,因而将字体放在主张的最上方。
2.财物文件作为变量引证 (Asset catalogs)
过去财物文件如图片是以 “字符串” 作为图片称号在代码中被引证,现在直接经过类似变量的标识符去引证它,它能够承受编译时的检查。
- 财物引证的编译检查
修正财物的称号为 “MultipleClouds ” 后,引证处产生了编译过错
这是由于此前财物的称号是 “clouds”, 现在,编译器提示你修正它为 “MultipleClouds”。
- 代码中引证图片财物的智能引荐
修正财物的称号时,能够获得XCode 的智能引荐。
3.本地化资源会集办理 (Localization)
- 旧项目的本地化文件搬迁
XCode 设置中 挑选 Edit > Convert to string catalog, 此刻 XCode 会主动扫描工程中的 storyboards、.strings、 以及 .stringsdict 类型的文件。并将其列在下图所示的列表中,你能够根据需求挑选部分或全部文件进行搬迁。
搬迁完结后,一切的本地化翻译将被整合到一个 Localization 目录中,你还能够检查到不同言语翻译的进展。
- 追踪代码中的字符串改变
每次构建时,XCode 会主动提取代码中的一切字符串。当增加新字符串或删去某个字符串时,本地化目录会符号出受影响的当地,并给出 “陈腐” 和 “新增” 的符号进行凸显,然后提示你去翻译或许删去它。
4.文档 (Documentation)
- 新的文档卡片样式
- 文档小助手
挑选小助手,然后挑选文档预览。
左面是代码,右边能够看到对应的文档,你能够实时修正和预览,这看起来有点像 MD。
5.新增 Swift 宏 (Swift macros)
系统部分结构现已完结了宏,如 Swift standard library、foundation、 以及一个新的 Swift data framework.
- 创立宏包 (macro package)
运用快捷键 Command-Shift-A, 然后在弹出的输入框中输入 New package 能够快速创立一个带有样例代码的宏包,你能够修正并完结它。
然后挑选 Swift Macro
以下是一个现已完结的宏包 EnumHelper,而CaseDetection 被完结为一个宏,宏的代码和一般的 swfit 代码没什么大的区别。
以下是引证了宏包 EnumHelper 中的宏 @CaseDetection,它默许会躲藏了宏完结,
- 打开宏和断点调试
当你需求时,你能够挑选打开宏,经过 Editor > Expand Macro 能够打开它。
打开后,还能够运用断点,如下图所示:
6.运行时预览 (Previews)
- 基于宏快速创立一个预览实例
运用宏 #Preview 快速创立一个预览实例, 在右侧边栏能够看到预览作用。
以下持续增加了一个带称号的预览实例,当有多个预览实例时,能够在右侧边栏的左上角切换tab 预览对应实例。
- AppKit 及UIKit 的预览支撑
为了兼容非SwiftUI 的代码,可支撑对旧工程的 Appkit 及 UIKit 增加预览。
- Widget 预览支撑
7.书签功用 (Bookmark)
- 增加书签
你或许经常会遇到忘掉此前关注或运用的一些重要代码,在你想要找到之前的那些代码时,你发现没有办法快速找到它。现在,经过增加可命名的书签来符号他们。
增加完结后,书签被展现在左面栏的书签tab下。
- 书签分组
你能够将多个书签打包成一个组,作为有关联性的代码。
你也能够设置一个组名,便于查找和了解。
- 设置为代办或完结
你能够将书签作为任务来办理,比如你能够将书签设置为完结状况,它将会在左边显现一个对勾。
8.代码版别控制 (Source Control Navigation)
- 版别控制面板
在新的面板中,一切的版别改动将会集在一个文件中一同预览,经过上下滑动能够看到多个文件的修正内容,然后避免来回切换修正的文件。
修正的预览是可交互的,你能够经过操作来扩展预览区域,然后检查当时修正处的更多上下文。
除了预览,你还能够直接在当时界面下持续修正,修正完结后,能够提交 commit,然后push。
可经过左边的竖条修正状况。
小结:代码修正的预览、修正、提交、推送都在同一页面下,减少不必要的界面切换,操作更快捷。
9.测验 (Testing)
- 测验面板
Apple 对新的测验面板运用Swift 进行了重写,提速了45%,下图事例列出了测验计划中的测验用例。
- 检查测验成果
测验成果的全体统计信息看起来简明扼要,主要包含:
Top Insights: 剖析测验成果,给出一些问题剖析的主张,包含过错的原因、分布、最耗时的测验用例。
Tests: 展现测验用的统计数据,包例成功率,按机型、言语分类,以及过错列表。
- 可交互的测验用例回放
测验用例的概况信息能够被检查,它展现了主动化的测验过程,以及标出产生过错的节点,你能够经过以上信息来帮助找出问题的原因。
10.调试 (Debugging)
- 控制台引入 OSLog 的支撑
OSLog 可用来很好的捕获运行时信息。它可界说及搜集结构化的日志信息,使日志看起来井井有条,接下来让咱们看看怎么运用它。
首要,运用 OSLog 编写一段日志:
默许情况下,日志的元信息是被躲藏的,仅显现开发者输入的日志信息,控制台中对不同严峻程度(如 info、 notice 、error 等)的日志,符号为不同的色彩以示区别。
你能够挑选性的增加展现日志的分类,包含子系统类别等元信息。
还能够过滤不同严峻程序的日志。
最后,咱们能够经过操作某条日志,跳转到日志代码界说处。
11.分发 (Distributing)
- 新增 TestFlight 包的补白信息
你能够给 TestFlight 的包增加一些附属的补白信息,例如需求测验哪些内容的阐明,这些信息会被展现给获取 TF包的测验者。
- 检查结构签名
XCode 引入了XCFrameWork 能够对签名的结构进行验签,然后显现其来历,并保障其完整性不被损坏,然后树立结构的信赖机制。
- 隐私清单
结构作者能够给自己的结构增加隐私清单,来阐明隐私的运用情况和怎么维护敏感数据。隐私清单会与结构捆绑一同签名,因而,隐私清单是可被信赖的。
来看看下图所示的隐私清单:
你能够运用XCode能够生成和检查完整的隐私报告
- TestFlight 仅分发到内部测验
当修正问题时,你不期望测验包被实在用户看见,这时你能够经过勾选 “仅分发给内部测验” 然后只分发给自己公司或团队的测验者 ,这样能够避免被误发给共测用户。
以下是另外一个操作内部测验的途径
三、总结
XCode15 在开发效率和功能、安全提高上主要表现为以下归纳的内容:
更简练: 主要体现在宏、文档、和日志上。
更智能: 提高主动补全代码能力、提高测验剖析能力。
更快捷: 包拆分下载、代码补全、书签、git会集办理,本地化会集办理。
更安全: 图片财物符号化办理, 经过对结构和隐私的处理,使得代码更加安全。
作者:京东零售 王晰源
来历:京东云开发者社区