WWDC2023 Session系列:探索XCode15新特性

这篇具有很好参考价值的文章主要介绍了WWDC2023 Session系列:探索XCode15新特性。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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 可用来很好的捕获运行时信息。它可定义及收集结构化的日志信息,使日志看起来井井有条,接下来让我们看看如何使用它。

首先,使用 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集中管理,本地化集中管理。

更安全: 图片资产符号化管理, 通过对框架和隐私的处理,使得代码更加安全。

作者:京东零售 王晰源

来源:京东云开发者社区文章来源地址https://www.toymoban.com/news/detail-483486.html

到了这里,关于WWDC2023 Session系列:探索XCode15新特性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • xcode 10 新特性

    xcode 10 新特性比较多,下面总结一些对我们平时开发最贴近的: 1、图片的快速预览功能 2. xcode10 提供了新的调试时候对(NS)data的导出预览功能   2 对于xib的增强 当我们在代码里,点击IBOutlet元素,会弹出它所对应的在xib中的控件.当你在出现的弹框中点击,它就会跳转到xib文件中

    2023年04月09日
    浏览(21)
  • xcode15 change

    jump to define 由原先的 control + command + left click 改为command + left click 可以方便使用TODO // TODO: 是不是这里要改成红色字体 将这个直接作为bookmark 实时preview doc comand + shift + a 快速动作

    2024年02月11日
    浏览(44)
  • 升级xcode15 报错Error (Xcode): Cycle inside Runner

    升级xcode15后报错 Could not build the precompiled application for the device. Error (Xcode): Cycle inside Runner; building could produce unreliable results. This usually can be resolved by moving the shell script phase \\\'Thin Binary\\\' so that it runs before the build phase that depends on its outputs. 解决方式 在xcode中找到 Runner 中的 Build Pha

    2024年04月16日
    浏览(39)
  • Xcode 15 libarclite 缺失问题

    升级到Xcode 15运行项目报错,报错信息如下: SDK does not contain \\\'libarclite\\\' at the path \\\'/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a\\\'; try increasing the minimum deployment target 解决 下载libarclite 文件 前往文件夹 /Applications/Xcode.app/Contents/Develo

    2024年01月16日
    浏览(49)
  • Xcode 15 编译出错问题解决

    正常升级xcode 15以后发现原来没有出现报错的代码,现在出现了编译错误。(如果没有出现请忽略)下面教你如何解决这个问题。 1、pod update更新cocoapods,因为其根据xcode15做了很多的更新,保证cocoapods是最新的。 千万别去管Pods.xcodeproj 和我们自己工程出现的设置类的警告,不

    2024年02月03日
    浏览(50)
  • xcode15启动IOS远程调试

    1.用数据线连接IPhone到macOS 2.打开xcode15,然后点击Window-Devices and Simulators  3.选中左边的Devices可看到已连接的IPhone,然后点击Connect via network使其选中. 选择后,左边的IPhone设备的右边出现一个地球图标,表示成功通过网络连接到IPhone 现在可断开数据线的连接,至此可以对IPhone设备进行

    2024年02月16日
    浏览(48)
  • iOS 17 适配 Xcode 15 问题

    在适配 iOS 17 + xcode 15时遇到的问题,记录一下。 1、 Could not build module ‘WebKit’ 解决方案: 选中不能编译的库的xcodeproj,在 Build Phrases - Compile Sources ,选中所有文件, Complier Flags 里删除 -DOS_OBJECT_USE_OBJC=0 可能是三方库的目标版本比较低,cocoapods兼容低版本自动加上了 - DOS_

    2024年02月08日
    浏览(63)
  • Xcode15 模拟器 Rosetta 模式

    打开Xcode15的方式其实没有Rosetta 选项了,但是可以跑Xcode默认Rosetta 模拟器。在xcode中如下方式打开: Product - Destination - Destination Architectures - 打开Show Rosetta Destinations 然后用这些带Rosetta的模拟器运行: 需要注意的是自己新建模拟器不会是Rosetta的。

    2024年02月06日
    浏览(53)
  • iOS xcode 15.1 打包报错

    真机调试的时候没问题,打包的时候报错了 #报错 解决办法 pods.xcodeproj - build phases - compile sources - compiler flags  pods.xcodeproj - Targets-support files  pods-xx-frameworks 

    2024年02月02日
    浏览(56)
  • iOS Xcode 升级Xcode15报错: SDK does not contain ‘libarclite‘

    iOS Xcode 升级Xcode15报错: SDK does not contain \\\'libarclite\\\' 一、仔细查看报错代码: 这个路径: 缺少文件, 那么进入这个路径进行查看 报错的情况下没有arc文件夹,也没有libarclite_iphonesimulator.a文件, 1、新建arc文件夹 2、下载:https://github.com/kamyarelyasi/Libarclite-Files中的libarclite_iphonesimulator.a

    2024年01月19日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包