为 WWDC26 做好准备
Get ready for WWDC26
2026年6月1日
一句话判断
这场 Session 最值得关注的一件事是:Apple 正在用 Group Labs(小组实验室)全面替代传统的 1-on-1 Labs,这意味着你在 WWDC 期间想白嫖 Apple 工程师帮你单对单 debug 的机会变少了,但“围观”别人踩坑的机会变多了。
这场 Session 讲了什么
说白了,这就是个 WWDC26 的“参会说明书”,全程没有一行代码,全是后勤安排。它告诉你赶紧去下 Apple Developer App,定好 6 月 9 日的 Keynote 和 Platforms State of the Union (SOTU) 闹钟,然后去抢 Group Labs 的名额。
对老油条来说,这视频纯属浪费时间,看个日程表就行了。但对第一次参加 WWDC 的新人,它点出了一个关键变化:现在的 WWDC 是“线上看视频 + 线下/线上混合社交”的模式。Apple 极力推崇 Apple Developer Forums 和 Group Labs,其实是在降低他们自己的支持成本,同时把开发者推向社区互助。
值得深挖的点
既然没有新 API,我们来聊聊 WWDC 交互模式的变迁,这直接影响你这几天的时间分配和获取信息的效率。
Group Labs 的“围观”经济学
以前 WWDC 最值钱的是 1-on-1 Labs,你可以拉着 Apple 工程师看你的崩溃日志。现在主推 Group Labs,由工程师和设计师主持直播 Q&A。Apple 这么做很聪明,一个工程师一小时只能帮一个人 debug,但开 Group Labs 能同时给几百人解答共性问题。
这对我们的 trade-off 是:你很难再得到针对你项目特定架构的深度指导,但你能听到其他开发者问出的“神仙问题”。在 Group Labs 里,学会“偷听”和“提问”同样重要。把你想问的问题提前发到 Apple Developer Forums,如果被顶上去,工程师在 Lab 里直接回答的概率会大幅增加。
Apple Developer App 的“信息茧房”
视频里提到 App 会提供“个性化推荐 (Personalized recommendations)”。这在算法时代是标配,但在 WWDC 期间是个双刃剑。如果你平时只看 SwiftUI,App 可能就不会给你推 Metal 或 Core ML 的 Session。
WWDC 的真正价值往往在于跨界。我的建议是:在 App 里故意收藏几个你完全不熟悉的 Track(比如 watchOS 或 visionOS 的底层优化),强行打破推荐算法的茧房。SOTU 看完后,不要只看推荐列表,直接按 Track 遍历一遍目录,往往能发现解决你当前项目瓶颈的冷门 API。
代码片段
既然官方没给代码,我们自己写点实用的。WWDC 期间信息量爆炸,用代码把日程管理自动化是最实在的。
1. 把 Keynote 和 SOTU 塞进系统日历
场景:用 EventKit 自动把 WWDC 关键节点写入日历,并设置提前 15 分钟提醒,防错过。
import EventKit
func scheduleWWDCKeynote() {
let eventStore = EKEventStore()
// 请求日历写入权限
eventStore.requestWriteOnlyAccessToEvents { granted, error in
guard granted else { return }
let event = EKEvent(eventStore: eventStore)
event.title = "WWDC26 Keynote"
// 假设 2026年6月9日 上午 2:00 (日本时间,按需调整)
event.startDate = DateComponents(calendar: .current, year: 2026, month: 6, day: 9, hour: 2).date!
event.endDate = event.startDate.addingTimeInterval(7200) // 2小时
event.calendar = eventStore.defaultCalendarForNewEvents
// 添加提前15分钟提醒
let alarm = EKAlarm(relativeOffset: -900)
event.addAlarm(alarm)
try? eventStore.save(event, span: .thisEvent)
}
}
坑:requestWriteOnlyAccessToEvents 是 iOS 17+ 的新 API,如果你还要兼容老版本或者需要读取日历,得用旧的 requestAccess(to:),且必须在 Info.plist 里配好 NSCalendarsWriteOnlyAccessUsageDescription。
2. 用 SwiftData 记录 Group Labs 的避坑笔记
场景:在听 Group Labs 时,快速记录工程师提到的 Bug 编号或 API 废弃信息,方便会后检索。
import SwiftData
import Foundation
@Model
class LabNote {
var topic: String
var engineerName: String
var content: String
var timestamp: Date
init(topic: String, engineerName: String, content: String) {
self.topic = topic
self.engineerName = engineerName
self.content = content
self.timestamp = .now
}
}
// 在 SwiftUI 视图中保存
struct LabNoteView: View {
@Environment(\.modelContext) private var context
@State private var noteText = ""
var body: some View {
Button("保存 Lab 笔记") {
let note = LabNote(
topic: "SwiftUI 动画性能",
engineerName: "John Doe",
content: noteText
)
context.insert(note)
// 自动保存,无需手动调用 save()
}
}
}
坑:SwiftData 的 modelContext 默认是自动保存的,但在高频输入(比如边听边疯狂打字)时,可能会引起 UI 卡顿。建议在后台 ModelContext 中执行批量插入。
最佳实践
- 已有项目的迁移策略:WWDC 期间不要急着把新 API 合入主分支。建一个
wwdc26-experiment分支,把 SOTU 里提到的新特性(比如新的 Swift 并发模型或 SwiftUI 宏)在隔离环境里跑通。等 Xcode 正式版(通常是 9 月)发布后再做实际迁移。 - 新项目的采用建议:如果你刚好在 WWDC 后启动新项目,直接用上最新版的 Swift 和 Xcode beta。但切记,UI 层可以用最新的 SwiftUI 特性,底层数据持久化和网络层尽量用成熟方案(如 CoreData/URLSession),beta 版的底层框架往往在 Beta 3 之后才会稳定。
- 实战中容易踩的坑:看 Session 视频时,千万别只看中文字幕。很多关键的 API 命名和参数类型,字幕翻译会丢失上下文。遇到听不懂的地方,直接切到英文 CC 字幕,或者去 Apple Developer 网站看 Session 的 Text Transcript(文字版),Cmd+F 搜索 API 名字最准。
还有什么值得关注
- Clarus the Dogcow 回归:Apple 居然把远古 Mac 时代的吉祥物 Dogcow 做成了贴纸,老 Mac 开发者看到估计会泪目,记得去 App 里领。
- Apple Design Awards finalists:视频提到了 2026 年的 finalists,去下载这几个 App 看看,Apple 每年选出来的 App 在动效和 Accessibility(无障碍)上都是教科书级别的。
- WWDC 播放列表:Apple Music 官方出了 WWDC 歌单,写代码卡壳的时候听听,据说里面的白噪音和电子乐对进入 Heartflow 状态有奇效。