Ficow 陪你看 WWDC 2022
本文首发于 Ficow Shen's Blog,原文地址: WWDC22 - Xcode 14 新特性。
内容概览
- 前言
- 用好过滤器
- Recap,节约你的宝贵时间
- Essential,取其精华
- 必看内容
- iOS 开发推荐内容
- 总结
前言

去年,Ficow 陪你看 WWDC 2021。今年,同样不能缺席呢~
首先, 这是 WWDC 2022 的完整视频列表,点击直达。足足有180多个视频,想全部看完还是需要耗费很多的精力。
所以,Ficow 在这里为你提供一些实战建议。
用好过滤器
官方已经为视频分了类,而且有基于平台的分类。如果你不是 macOS 开发者,那就果断无情地过滤掉 macOS 的东西吧!

Recap,节约你的宝贵时间
如果你不想逐个检查这 100 多个视频涉及到什么技术点,那么 Recap 会是一个比较好的选择。

清除所有的 filter,输入关键字 recap,你就会看到这 5 个超短的视频。--> 点击直达
你说啥?你连这 5 个超短的视频都不想看了?
行吧,那 Ficow 就做点善事,把小草稿本给你瞄一眼:
Day 1 Recap
- iOS 16
- 全新的可自定义锁屏界面,加入了Widget,还优化了通知
- Message支持修改、撤回已发送的信息
- 用 SharePlay 和朋友共享视频内容
- 相册支持一键扣图,而且可以很便捷地粘贴到其他App
- 基于 iCloud 的共享相片库,让你更方便地与亲朋共享照片
- CarPlay 开始适配大长屏
- 地图允许设置最多15个途经点
- watchOS 9
- 锻炼App支持显示心率区间,允许自定义锻炼项目
- 健康App里增加了 Medications 用药提醒功能
- 数个新表盘
- macOS
- M2 芯片,8-10 核!!!内置于新款 MacBook Air 和 MacBook Pro
- 新系统版本 Ventura
- 强化了 Spotlight,支持图片搜索
- Stage Manager,更便捷地管理多个窗口
- Email 支持定时发送和撤销
- Continuity Camera,更方便地拍摄演示视频
- iPadOS 16
- Stage Manager
- 强大的多应用、多设备协作功能
- 一堆新的框架和API
- Shared with you API,分享
- App Intents API,Siri指令
- Live Activities API,锁屏通知
- WeatherKit,天气预报
- Metal 3,游戏引擎
- Swift Charts,强大易用的 SwiftUI 图表框架
- Swift Regex,Swift 正则表达式框架
- Xcode cloud,苹果官方的CI & CD,有很长的免费试用期
- 2022 Apple Design Awards
Day 2 Recap
SwiftUI 支持新的导航方式
Xcode 14 新特性
为 Unity 游戏项目添加 Apple 框架的新插件
RoomPlan,强大的 3D 室内扫描工具
SF Symbols 着色技巧
全新的 Push to Talk iOS 框架,支持更便捷的多设备对讲
Package plugnins,其实就是用Swift写 Xcode 插件
Day 3 Recap
- 更好用的 App Shortcuts
- 在 iPad 上打造桌面级的 App
- 全新的 iOS 相机特性,比如:调节光源
- 更多 SwiftUI 布局模式,网格、自定义等等
Day 4 Recap
- iPad SwiftUI 新布局模式,以及更好的状态恢复、deep-linking
- SwiftUI 与 UIKit 混用
- Vision 视觉识别框架
- SharePlay,在FaceTime中和对方一起刷剧、听歌、画画或者共享屏幕
Day 5 Recap
- 如何让 App 更省电
- 在 Xcode 中用开发基于 Swift 的服务端应用
- Shazam Kit,音乐识别工具
- 如何构建 iPadOS 上的多窗口应用
- Apple 设备互联
Essential,取其精华

这是官方提供的一个集合分类,所以参考价值比较高,Recap 系列也包含在内。
通过 Essential 集合中的视频,你可以掌握一些官方认为最重要的内容。
必看内容
Keynote
老规矩,Keynote 主要讲产品层面的更新,重点在于介绍产品功能的改进。这部分内容很适合开发者,也适合产品经理、设计师等岗位的朋友去观看。
不过,相比于 WWDC 2021,个人认为 WWDC 2022 没有太多产品层面的亮点。技术方面的更新偏多,尤其是各种新的 framework, API。所以,开发者们可以重点关注一下。
Platforms State of the Union
这些是 Platforms State of the Union 的大致内容,全部是技术更新:
Vision for Platform
- Concurrency
asyncsequence,异步序列- clock 类型
actordistributed actor
- Swift Regex
- Generic
some关键字, 简化函数的泛型参数定义any关键字, 简化泛型属性定义
- Swift Package Manager
- Package Plugins(可以用 Swift 开发,支持 SwiftLint, SwiftFormat, 自动生成代码等功能的插件)
- SwiftUI
- 新的导航 API: NavigationStack, NavigationSplitView, .navigationDestination(for:_)
-网格布局 API - 自定义布局 API
- 半屏模态框 HalfSheets
- 基于 Transferable 协议的 ShareSheet
- Swift Charts 强大易用的图表框架,支持 Accessibility
ViewThatFits,根据屏幕决定横向、纵向布局- MenuBarExtra(macOS),任务栏图标
- 新的导航 API: NavigationStack, NavigationSplitView, .navigationDestination(for:_)
System Experience
- 自定义锁屏的 WidgetKit
- Circular 样式
- Rectangular 样式
- Inline 样式
- LiveActivities,锁屏通知
- iOS, macOS, watchOS 系统间协作
- Messages Collaboration API(share sheet, drag and drop, message, facetime)
- SiriKit, App Intents framework(Siri, shortcuts, app shortcuts)
- Passkeys,免密码验证
- WebAuthn API
- AuthenticationServices framework API,支持非苹果平台
- iPadOS 16
- DriverKit, 让 iPadOS 像 macOS 一样支持各种外设
- watchOS
- CallKit framework,允许第三方App像FaceTime和打电话一样进行通讯
- 广告和隐私
- SKAdNetwork 框架
- ScanKit, RoomPlan(AR, LiDAR)
- Focus Filter API(基于 App Intent framework),基于用户的专注模式来切换 App 的内容
- Metal 3 游戏引擎
- MapKit,强化了 3D 视图,增加了开放的 API
- Maps Server APIs
- WeatherKit
- 支持原生和 RESTful API
- 开发者会员 500000 API calls/month
- VisionKit
- LiveText API,帮助开发者提取图像中的文本
- Data Scanner API,扫描文本、条形码等内容
iOS 开发推荐内容
东西太多了,咱们 iOS 开发者还是要有的放矢才行呢,对吧?
帮你做到事半功倍是 Ficow 著文的根本目的,所以这个列表供你参考:
首先,前文中提到过的 Recap 和 Essential 内容可以帮助你快速消化 WWDC 2022 的主要内容;
其次,了解已有框架的更新,针对新系统进行查漏补缺,点击直达;
然后,工欲善其事必先利其器,掌握常用工具的新特性往往可以帮你提高工作效率;

请注意,不要勾选 iOS,否则过滤会失效。这个过滤器貌似有 bug 呢。。。
总结
时光飞逝,眨眼又是一年呢~
众所周知,苹果的创新越来越少,越来越弱,不知下年该如何是好
俗话说,技多不压身。作为苹果开发者,我们要居安思危,努力扩展自己的技能栈,以备不时之需。
Anyway,一起期待下一年的 WWDC 吧!
参考内容:
WWDC22
Ficow 陪你看 WWDC 2022的更多相关文章
- [ios-必看] WWDC 2013 Session笔记 - iOS7中的多任务【转】
感谢:http://onevcat.com/2013/08/ios7-background-multitask/ http://www.objc.io/issue-5/multitasking.htm ...
- C#操作INI文件(明天陪你看海)
C#操作INI文件 在很多的程序中,我们都会看到有以.ini为后缀名的文件,这个文件可以很方便的对程序配置的一些信息进行设置和读取,比如说我们在做一个程序后台登陆的时候,需要自动登录或者是远程配置数据 ...
- 看不到Harbor我也睡不着觉啊
上午打球,下午陪小孩子看上海科技展,晚上搞定harbor. 完美!!!:) 参考文档: https://www.dwhd.org/20161023_110618.html http://blog.cs ...
- 趁热来一波,WWDC 2016 iMessage App开发
转自:http://www.jianshu.com/p/be79b8729bf8 WWDC 2016关于iMessage App的两个视频已经放出(iMessage Apps and Stickers ...
- 并发王者课-铂金8:峡谷幽会-看CyclicBarrier如何跨越重峦叠嶂
欢迎来到<并发王者课>,本文是该系列文章中的第21篇,铂金中的第8篇. 在上一篇文章中,我们介绍了CountDownLatch的用法.在协调多线程的开始和结束时,CountDownLatc ...
- CallKit iOS 教程
原文:CallKit Tutorial for iOS 作者:József Vesza 译者:kmyhy 对 VoIP App 开发者来说,iOS 的支持并不友好.尤其是它的通知发送这一块,太糙了.你 ...
- 成长为 iOS 大 V 的秘密
成长为 iOS 大 V 的秘密 前言 毫不谦虚地说,我是国内 iOS 开发的大 V.我从 2011 年底开始自学 iOS 开发,经过 3 年时间,到 2014 年底,我不但写作了上百篇 iOS 相 ...
- 微信为什么发布 Mac 版?
因为 Mac 就是好啊就是好啊,就是好…… 打完收工,谢谢,鼓掌 piapiapia……晚安! 这么写在京城行走会不会挨板砖呢?头像已经印到书上满世界的发出去了,虽然考虑到行走江湖求一个稳字,我还特意 ...
- iOS——学习网址收集+如何提高iOS开发技能
1 一个比系统自带的终端好用的软件:http://www.iterm2.com 2 学习和遇到技术问题可以去的网站: CocoaChina http://developer.cocoachi ...
- DevOps is dirty work - CI drives you crazy
一直很想谈谈Continuous Integration(CI),持续集成. 就在不久前一次朋友聚会上,一个刚刚跳槽到一家创业公司的朋友跟我抱怨说他们没有CI,没有code review,要做点事太累 ...
随机推荐
- CF1425F Flamingoes of Mystery 题解
题目传送门 前置知识 前缀和 & 差分 解法 令 \(sum_k=\sum\limits_{i=1}^{k} a_k\).考虑分别输入 \(sum_2 \sim sum_n\),故可以由于差分 ...
- Nologging到底何时才能生效
转了一篇EYGLE的文章 -------------------------------------------------- 最初的问题是这个帖子: http://www.itpub.net/sho ...
- 摸鱼快报:golang net/http中的雕虫小技
以后会开一个板块,摸鱼快报,快速记录这几周开发中雕虫小技. 1. 向开发环境localhost:3000种植cookie 前端使用Create React App脚手架,默认以localhost:30 ...
- python3调用nmap封装
python3调用nmap封装; 外部处理好参数后直接调用; #!/usr/bin/env python # -*- coding: utf-8 -*- """ 代码修改 ...
- 压测模式该怎么选?RunnerGo五大压测模式详解
在做性能测试时需要根据性能需求配置不同的压测模式,如:阶梯模式.使用jmeter时我们需要安装插件来配置测试模式,RunnerGo内嵌了压测模式这一选项更方便使用,今天来看看RunnerGo的几种压测 ...
- C++ 时间复杂度
看到网上一些资料的案例不全,所以自己开个来复习. O(1)<O(log2n)<O(n)<O(nlog2n)<O(n^2)<O(n^3)<-<O(2^n)< ...
- django学习第二天---django视图系统,基于类的视图写法,FBV和CBV加装饰器
django视图系统 request对象 常用属性和方法 print(request) #wsgirequest对象 print(request.path) #请求路径 /index/ print(r ...
- 【Azure Function】示例运行 python durable function(model V2)
问题描述 参考官方文档(使用 Python 创建你的第一个持久函数:https://learn.microsoft.com/zh-cn/azure/azure-functions/durable/qu ...
- 【Azure Function】修改Function执行的Timeout时间
问题描述 Azure Function默认的Timeout时间是否可以调整呢? 问题解答 可以的,根据创建Function的时候选择的定价层不同,Function 默认的Timeout时间也不同. 消 ...
- C#多线程(7):手动线程通知
目录 区别与示例 ManualResetEvent 类 ManualResetEventSlim 区别与示例 AutoResetEvent 和 ManualResetEvent 十分相似.两者之间的区 ...