WWDC21 Sessions - Day 4

Posted 老司机技术周报

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WWDC21 Sessions - Day 4相关的知识,希望对你有一定的参考价值。

写在最前面

WWDC21 首日,Apple 已经将所有 Session 的介绍发布在了这里[1],大家可以进行查阅。周报组每天也会对前一天的 Session 简介进行简要的翻译。本文是 6 月 10 日相关内容哦~

Session 简介

Add support for Matter in your smart home app

Add support for Matter in your smart home app

HomeKit 中增强的新 API 能让智能家居开发人员以最方便的方式来集成新的 Matter 协议。可以通过查看 Matter 协议,了解如何在我们的平台上和你的智能家居应用中设置和管理 Matter 配件。

Automate CloudKit tests with cktool and declarative schema

Automate CloudKit tests with cktool and declarative schema

测试 CloudKit 容器从未如此简单。我们将向你介绍 cktool,这是一个命令行实用程序,可以快速完成 CloudKit 配置,并且学习通过新的模式语言来快速构建原型和迭代容器。我们也会在 Xcode 运行测试用例之前演示如何组合工具和配置你的容器。

为了更好理解这个 Session,我们建议你先熟悉 CloudKit 及配置其开发和生产环境,并对记录类型和数据类型有基本的了解。

Bring Core Data concurrency to Swift and SwiftUI

Bring Core Data concurrency to Swift and SwiftUI

了解如何在  Swift 5.5 使用 新的异步特性来使用 Core Data,以此让代码更简洁、高效和安全。我们将向你演示如何使用异步的方式来实现 Core Data,并且详细介绍一些让 Swift 和 SwiftUI 体验更好以及更强大的改进。

Build Mail app extensions

Build Mail app extensions

认识 MailKit:基于 Mail 构建优秀体验的最佳方式。MailKit 能使 app 与 macOS 的 Mail App 之间的交互容易和安全。我们将深入探究 MailKit 的 API,并向你演示如何创建关于撰写消息、消息通信、安全邮件和内容拦截的扩展。

Build custom experiences with Group Activities

Build custom experiences with Group Activities

在基本的流媒体和交互之外,探索如何使用 Group Activities 框架的全部功能来构建优秀的 SharePlay 体验。我们会演示如何将一个简单的绘图应用程序改成实时共享画布,探究 GroupSessionMessenger (用于收发参与者之间自定义消息) 等 API ,以及学习如何对自定义 SharePlay 体验进行最后润色。

Build interactive tutorials using DocC

Build interactive tutorials using DocC

了解如何使用 DocC 开始创作沉浸式教程。我们将演示如何通过 DocC 语法将富文本说明、示例代码和图像组合在一起,来说明你的 Swift 框架的使用方法。我们将讨论如何提供交互式学习机会的渐进性培训,和帮助用户更好的理解你的框架。

Capture high-quality photos using video formats

Capture high-quality photos using video formats

你可以通过使用 AVCapture API 来尽可能使用 iPhone 强大相机系统功能。了解如何在你的需求上权衡照片质量和交付速度,来选择最合适的照片和视频的格式。探究一些当你的应用中使用视频格式的时候,可以帮你显著优化照片质量的算法。

想了解更多 AVCapture 优化内容,可以查看 "What's new in camera capture" 视频。

Create image processing apps powered by Apple Silicon

Create image processing apps powered by Apple Silicon

了解如何为 Apple silicon 优化你的图像处理应用程序。探究如何通过 render command encoders、tile shading、unified memory architecture 和 memoryless attachments 来获得优化。我们将向你展示如何使用 Apple 独特的基于 tile based deferred renderer architecture 来创建具有低内存占用的节能应用程序,并带你了解将基于计算的应用程序从 discrete GPUs 迁移到 Apple silicon 时的最佳实践。

Deliver a great playback experience on tvOS

Deliver a great playback experience on tvOS

找出你如何可以使用 Apple TV's 重新设计的 playback 接口在你 App 内构建一个优秀的多媒体体验。了解最新的接口是在浏览内容的同时进行访问相关控制和信息。我们演示如何在你的 tvOS App 中通过 AVPlayerViewController 和其他 API 来查找、播放和欣赏内容。

为了更好的理解本次 Session,我们建议你先对 AVKit 进行基本的了解。

Design for Group Activities

Design for Group Activities

了解如何设计你的 App 来支持 SharePlay 体验。我们将演示如何通过 Group Activities 框架将用户聚集到你的应用程序中,并调整你的设计来专注于 group-first 的内容共享。我们将以用户 FaceTime 拨号过程中使用 SharePlay 来创建应用和功能,以此探讨想法和迭代功能。

Design for spatial interaction

Design for spatial interaction

了解在两个或多个设备之间创建直观物理交互的原则,如同 iPhone、HomePod mini 和 AirTag 设计功能的 Apple 设计师所演示的那样。了解如何将这些模式应用在你为 Apple 平台设计的应用程序中,以此帮助你的用户更直接地与周围环境进行交互。

Detect and diagnose memory issues

Detect and diagnose memory issues

了解如何通过 Xcode 来理解和诊断内存性能问题。我们将带你了解 Xcode 工具的最新更新,了解 Metrics,查看 XCTest 中的 memgraph collection 的特性,并学习如何使用 Performance XCTest 进行回归测试。

Develop advanced web content

Develop advanced web content

使用 javascript、WebGL 或 WebAssembly 进行开发?了解 Safari 和 WebKit 的最新更新(包括对类语法的语言更改)如何帮助你简化开发过程、增强性能和提高安全性。我们将了解几个提供更好的互操作性和为 Web 内容带来新功能的 Web API。

Diagnose unreliable code with test repetitions

Diagnose unreliable code with test repetitions

Test repetitions 可以帮助你调试最不可靠的代码。了解如何使用 maximum repetitions,until failure,并在 xcode test plans 中基于 failure testing modes 进行重试,以及在 xcodebuild 追踪错误和崩溃,并让你的 app 在所有人的使用中更加的稳定。

为了更好的理解本次 Session,我们建议你先熟悉 XCTest 和通过 test plans 管理测试。有关更多信息,请查看 WWDC19 中的 "Testing in Xcode"。

Direct and reflect focus in SwiftUI

Direct and reflect focus in SwiftUI

使用设备输入,就像生活中的所有事物一样,你把焦点放在什么地方很重要。了解如何在 App 中使用 SwiftUI 移动焦点、以代码方式关闭键盘以及从最小的 view 开始,构建大量的指引目标。这些 API 帮助你简化 App 的界面,让用户更高效找到所需的。

Discover Web Inspector improvements

Discover Web Inspector improvements

Web Inspector 为你提供了在 macOS、ios 和 iPadOS 上了解和调试网页的工具。我们将带你了解 Web Inspector 的最新特性和优化,包括用于检查页面上 CSS Grid 容器的新叠加层、让调试更容易的可配置的断点,以及创建和编辑审计的能力。

Discover and curate Swift Packages using Collections

Discover and curate Swift Packages using Collections

无论你是为你的团队管理包、出于教学目的,或者共享给其他开发者,Swift Package Collections 都可以帮助你发现、了解新包和导入新的包到你的工程中。了解如何使用 Collections 优化 Swift 包工作流程,了解如何管理、创建、签名,以及共享你自己的 Swift Package Collections。

Discover compilation workflows in Metal

Discover compilation workflows in Metal

Metal shading 语言是一种强大的基于 C++ 的语言,它允许在维持一个灵活的着色器开发管道的同时渲染令人惊讶的特效。了解如何通过 Dynamic Libraries 和 Function Pointers 更轻松地构建和扩展渲染管道。我们还将向你展示如何使用 Binary Function Archives、Function Linking 和 Function Stitching 在运行时加速着色器编译。

Discover rolling clips with ReplayKit

Discover rolling clips with ReplayKit

再也不会在你的游戏或应用程序中错过任何人的精彩时刻。了解 ReplayKit 的最新更新( 剪辑屏幕录制),它为你的应用程序提供过去视频和音频样本的滚动缓冲区。了解如何在当令人难忘的时刻发生时为用户录制和保存它,并了解如何在最合适的时刻呈现这些剪辑。最后,我们将带你了解如何将 ReplayKit 集成到你的 iOS 和 macOS 应用程序中。

Distribute apps in Xcode with cloud signing

Distribute apps in Xcode with cloud signing

了解如何直接分发你的应用程序到 App Store Connect 和 所有的分发方法都在 Xcode 中支持。探究如何为你的应用程序实现自动化分发,以及了解关于 cloud signing, app record creation 和 build number management 的改进。

Donate intents and expand your app’s presence

Donate intents and expand your app’s presence

了解如何在无需打开应用的情况下,让用户在正确时刻使用你的应用程序的核心部分。了解如何制作意图并将其加入到系统,帮助你在 Siri、Focus、Shortcuts、Smart Stack 等中显示有关你的应用程序的相关信息和上下文信息。我们将探究系统是如何智能地识别信息,并向你演示构建意图来帮助提供你的应用程序曝光度的技术。

Embrace Expected Failures in XCTest

Embrace Expected Failures in XCTest

测试是构建出色应用程序的关键部分:出色的测试可以帮助你在发布前跟踪重要问题,改进工作流程,并在发布时提供优秀的体验。然而,对于无法立即解决的问题,XCTest 可以帮助提供更好的关于 XCTExpectFailure 的问题的上下文。了解此 API 的工作原理、其严格的行为,以及如何在你的测试中通过提高测试中的信噪比更有效地发现新问题。

Explore ARKit 5

Explore ARKit 5

使用 ARKit 5 构建下一代增强现实应用程序。了解如何在其他区域使用位置锚点,并更轻松地将用户带入基于位置的 AR 体验。了解有关面部跟踪和动作捕捉的更多信息。并了解在现实世界中放置 AR 内容的最佳实践。我们还将向你演示如何通过将 App Clip 集成到你的 AR 应用中,让你的虚拟内容更容易被发现和精确定位。

Explore Digital Crown, Trackpad, and iPad pointer automation

Explore Digital Crown, Trackpad, and iPad pointer automation

了解在 Xcode 13 中的 UI 测试是如何与设备交互的。了解新的可自动化输入方法,包括 iPadOS 鼠标、watchOS 数字表冠 和增强的 macOS 触控板滚动 API。

Explore HDR rendering with EDR

Explore HDR rendering with EDR

EDR 是 Apple 的高动态范围图像表示和渲染管道。了解如何在应用中使用 EDR 渲染 HDR 内容,并释放 HDR 显示器的动态范围功能,包括 Apple 的内部显示器和 Pro Display XDR。

我们将向你展示游戏和专业应用程序开发人员如何利用 macOS 上的原生 EDR API 进行更多控制,并提供最佳实践来决定 HDR 何时合适、应用色调映射和交付 HDR 内容。

Extract document data using Vision

Extract document data using Vision

了解 Vision 如何在你的应用程序中提供专业的图片识别和分析来提取文档信息,识别多语言文本和识别条形码。我们将探究文本识别和条码检测的最新更新,像你演示通过 Core ML 组合这些工具,并帮助你的应用通过图像或实时摄像头更好地了解世界。

要了解 Vision 的更多信息,请观看 WWDC21 的 "Detect people, faces, and poses using Vision" 以及 WWDC20 的 "Explore Computer Vision APIs"。

Improve MDM assignment of Apps and Books

Improve MDM assignment of Apps and Books

了解应用和图书管理 API,探索如何将组织拥有的应用和图书分配给受管理的用户和设备。了解最新的 API 优化,并了解如何订阅和接收有关组织中资产数量、分配和注册用户的通知。并了解如何利用异步处理显着减少大型分配所需的请求数量。

Improve access to Photos in your app

Improve access to Photos in your app

phpicker 是将照片库集成到你的应用程序的最简单、最安全的方式,而且它变得越来越好。了解如何在你的应用中处理按顺序选择的图像,以及在显示选择器时预选资源。对于需要与 PhotoKit 更深入集成的应用程序,了解如何使用 PHCloudIdentifier 跨设备同步照片项目内容,帮助用户轻松地在 iPhone、iPad 和 Mac 之间转换他们的图像工作。

我们还将带你了解 Limited Photos Library 的最新更新。了解你的应用如何帮助用户轻松使用他们已授权的初始图像集,包括随时调起选择 UI 以及识别任意时候触发新的选择或更新的选择。最后,了解如何创建或访问现有相册。

Localize your SwiftUI app

Localize your SwiftUI app

了解如何本地化你的 SwiftUI 应用程序并将其提供给全球用户。了解如何在 SwiftUI 中本地化字符串,包括样式和格式化。我们将演示如何通过让 SwiftUI 自动处理布局和键盘快捷键等任务来节省时间,并带你在 Xcode 13 中完成本地化工作流程。

想了解本次 Session,关于 Markdown 语言和 AttributedString 的更多信息,请查看 WWDC21 的 "What's new in Foundation"。

Manage software updates in your organization

Manage software updates in your organization

在托管设备环境中,当在你的公司和教学机构中测试最新的操作系统时,你经常需要控制软件更新的节奏。了解这些你可以用来推迟,部署以及强制更新的工具。

Meditation for fidgety skeptics

Meditation for fidgety skeptics

丹·哈里斯(Dan Harris)是艾美奖获奖记者,也是美国广播公司周末版早安美国的联合主播。在 2004 年全国电视转播惊恐发作后,他发现自己踏上了一段漫长而奇异的旅程,最终他发现了正念冥想。丹将分享他的故事,这促使他撰写了两本书并创建了一个流行的播客和应用程序,帮助许多人(包括以前像他这样的非信徒)改善了他们的生活。他将与著名的冥想大师、丹的畅销书《Meditation For Fidgety Skeptics》的合著者 - 杰夫·沃伦(Jeff Warren),一起提供实用的步骤,任何人都可以采取这些步骤来管理当今世界范围广泛的压力和焦虑,从而使自己更快乐 10%。

Meet ClassKit for file-based apps

Meet ClassKit for file-based apps

ClassKit 框架可以帮助使用 Schoolwork App 向教师展示应用程序中教学活动。了解如何通过采用最新的 file-based API 在你的应用程序中报告学生进度数据,让教师更深入地了解学生的学习情况。我们还将向你演示如何使用 ClassKit 报告不同的数据类型,以及如何在开发者模式下测试你的实现。

Meet privacy-preserving ad attribution

Meet privacy-preserving ad attribution

了解如何在不影响隐私的情况下衡量应用和网络上的广告活动。我们将向你介绍 Private Click Measurement 并探索 SKAdNetwork,它为你提供了一种更安全、私密且有用的方法来衡量你的应用安装量。

Optimize high-end games for Apple GPUs

Optimize high-end games for Apple GPUs

针对 Apple GPUs 优化你的大型游戏:我们将向你展示如何使用我们的渲染和调试工具来消灭性能问题并使你的游戏在 Apple 平台上表现出色。学习我们帮助 Larian Studios 和 4A Games 的开发者在 Aapple GPUs 上优化游戏的经验。

我们将探索提高游戏性能的各种技术,包括优化着色器、降低内存带宽利用率以及增加 GPU 工作负载的重叠。我们还将深入研究通过 Xcode 13 中新的 GPU 时间线分析工具来确认在 iPad 上运行 "Divinity: Original Sin 2" 的可能得性能瓶颈。

对于本次 Session,你应该先熟悉 Apple GPU 中的 tile-based deferred rendering architecture,并具备 Xcode 和 Metal API 的工作知识。

想了解使用我们的工具分析图形工作负载的更多信息,可查看 "Discover Metal debugging, profiling, and asset creation tools" 或者 WWDC20 的 "Optimize Metal apps and games with GPU counters".

Principles of great widgets

Principles of great widgets

通过保持相关性和可定制性来探索优秀小部件的基础。了解如何使用 timeline entries 和 TimelineReloadPolicies 使小部件保持最新。了解如何使你的小部件适应不同的演示环境和物理位置。最后,了解如何创建可定制的小部件,让用户可以根据自己的喜好进行个性化设置。

Support Full Keyboard Access in your iOS app

Support Full Keyboard Access in your iOS app

iPhone 和 iPad 为有运动障碍的用户提供多种输入模式,包括触摸交互修改、切换控制和全键盘访问。我们将探索人们如何仅通过键盘输入与他们的设备进行交互,通过一个真实的例子来探索核心的 API。当你在应用程序中集成全键盘访问时,我们还将向你介绍一些支持运动障碍辅助功能的最佳实践。

Support customers and handle refunds

Support customers and handle refunds

出色的客户支持对于在 App Store 上成功开展业务至关重要。了解如何为进行应用内购买的客户提供顺畅的支持体验,包括让客户能够轻松管理或取消其自动续订订阅或直接从你的应用内请求退款的 API。我们将介绍处理退款 的最佳实践,和帮助你更好地支持客户的其他 API。

Swift concurrency: Behind the scenes

Swift concurrency: Behind the scenes

深入研究 Swift 并发的细节,了解 Swift 如何在提高性能的同时提供更安全的数据竞争和处理线程爆炸。我们将探讨 Swift tasks 与 Grand Central Dispatch 有何不同、新的协作线程模型如何工作,以及如何确保你的应用程序获得最佳性能。

为了更好的理解本次 Session,我们建议你先查看 "Meet async/await in Swift"、"Explore structured concurrency in Swift" 和 "Protect mutable state with Swift actors."。

Sync files to the cloud with FileProvider on macOS

Sync files to the cloud with FileProvider on macOS

了解如何使用 FileProvider 框架构建全面的云同步解决方案。我们将向你展示如何构建文件提供程序扩展,并探索如何轻松地将扩展与集成文件系统功能(如:安全保存、磁盘空间管理、Finder 集成等)。

There and back again: Data transfer on Apple Watch

There and back again: Data transfer on Apple Watch

Apple Watch 的改进为你提供了更多与你的 app 进行通信的方式,以及需要考虑的新用户。了解哪些策略可用于数据通信以及如何为工作选择合适的工具。对比使用 iCloud Keychain、Watch Connectivity、Core Data 等技术的好处。

Thursday's Mindful Cooldown for Coding… brought to you by Fitness+

Thursday's Mindful Cooldown for Coding… brought to you by Fitness+

欢迎来到周四与 Fitness+ 教练达斯汀·布朗 (Dustin Brown) 的编码放松训练。他将带你完成 10 分钟的站立和坐姿伸展运动,伸展上半身和下背部,然后进行冥想。

Understand and eliminate hangs from your app

Understand and eliminate hangs from your app

了解如何追踪应用中的挂起和延迟。我们将向你展示发现挂起及其原因的工具和方法,了解可能导致挂起的 anti-patterns,探索消除 GCD 等挂起的最佳实践,和你应该考虑通过异步代码来提高你的应用程序性能的时候提供指导。

WWDC21 Apple Design Awards

WWDC21 Apple Design Awards

Apple 设计奖旨在表彰在 app 和游戏设计方面的卓越创新、独创性和技术成就。一起观看我们揭晓和恭喜 2021 年的获奖者。

What's new in App Analytics

What's new in App Analytics

App Analytics 通过提供有关你应用的 privacy-friendly 反馈,帮助你最大限度地提高在 App Store 上的机会。了解四种增长业务的新方法,包括有关自定义产品页面、内购事件、产品页面优化以及有关商店交易的新指标的信息。

What’s new in AVFoundation

What’s new in AVFoundation

了解 AVFoundation 的最新更新,这是 Apple 用于检查、播放和创作视听演示文稿的框架。我们将探讨如何使用 AVFoundation 查询音视频资源的属性,使用 timed data 和 author caption files 进一步定制你的自定义视频作品。

关注我们

我们开通了公众号,每周都会定时发布 「老司机 iOS 周报 」 在公众号(LSJCoding)上,欢迎关注。

同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。

《WWDC21 内参》提前购买

最后,我们也开放了今年 《WWDC21 内参》 购买链接:https://xiaozhuanlan.com/wwdc21 或者 「阅读原文」 即可购买。目前售价依旧是 9.9 元,我们依旧会选择一个合适的时机提高到 29.9 元甚至更高,以及到明年的 WWDC 前夕改为免费领取。

参考资料

[1]

这里: https://developer.apple.com/wwdc21/sessions/

以上是关于WWDC21 Sessions - Day 4的主要内容,如果未能解决你的问题,请参考以下文章

WWDC21 Sessions - Day 5

WWDC21 Sessions - Day 3

WWDC2019 Sessions 观后感集合

WWDC2019 Sessions 观后感集合

WWDC2019 Sessions 观后感集合

《WWDC21 内参》内容更新