Platforms State of the Union
2025年6月9日
一句话判断
如果说 Keynote 是面向用户的发布会,PSOTU 就是面向开发者的施工图 — Liquid Glass 的 API 落地细节、Foundation Models 的 tool calling 和 guided generation、Swift 6.2 的并发简化、Metal 4 的 neural rendering,全部在这里展开。
这场 Session 讲了什么
Platforms State of the Union 深入拆解了 WWDC25 所有开发者技术的实现层面。整场以四条主线展开:
Liquid Glass 设计与 API:从 glassEffect、glassEffectContainer 到 toolbar spacer API、TabView accessory,系统展示了 SwiftUI/UIKit/AppKit 三个框架如何零代码或少量代码适配新设计。backgroundExtensionEffect 让图片延伸到 sidebar 安全区域外。Icon Composer 支持矢量导入、多层标注、多模式预览。
Foundation Models 框架:端侧模型通过量化和 speculative decoding 优化性能。@Generable 宏让 Swift struct 直接成为模型输出格式,@Guide 约束属性值范围。Tool calling 允许模型在推理过程中自主调用 Swift 定义的工具函数(如 MapKit 搜索)。支持流式输出和自定义 guardrails。
Xcode 26 + Swift 6.2:Xcode 内置 ChatGPT 和第三方模型接入,Coding Tools 提供代码级 Writing Tools 体验,playground 宏可预览非 UI 代码。Swift 6.2 的 inline arrays(栈上分配固定大小数组)、span 类型(安全的连续内存访问)、C/C++ 互操作增强、WebAssembly 支持。Containerization 框架开源,用于在 Mac 上运行 Linux 容器。
SwiftUI + visionOS + 游戏:WebView 组件、富文本编辑、3D Charts、10 万条数据列表 6 倍加载提速。visionOS 26 新增体积化 API、附近窗口共享、WidgetKit、2D 照片转 3D 空间场景。Metal 4 支持 shader 内推理网络、MetalFX 帧插值(Cyberpunk 2077 演示 M4 MacBook Air 稳定 60fps)。
值得深挖的点
-
Liquid Glass 的 adoption 路径分三层:recompile 自动生效 -> 用新 API 精调(toolbar grouping、tint、search 位置)-> 自定义控件手动应用
glassEffect。Apple 提供了 Xcode 26 的 opt-out 选项保留旧设计,但会在下一个大版本移除。 -
Foundation Models 的 @Generable + tool calling 组合拳意味着你可以构建一个完全本地运行的 agent:模型解析用户意图 -> 生成结构化请求 -> 自主调用 MapKit/数据库等工具 -> 流式返回结果。全程无网络、无 API key、无费用。
-
Swift 6.2 的 concurrency 路线在纠偏。之前 Swift 6 的严格并发检查让很多开发者痛苦,现在 MainActor by default 和更少的 warning 意味着:如果你的代码本来就是单线程的(大部分 app UI 代码),编译器不再烦你。
-
Containerization 框架是 Apple 官方的 Linux 容器方案,针对 Apple silicon 优化,开源在 GitHub。这意味着 Swift 服务端开发有了官方的本地开发环境支持。
-
macOS Tahoe 是 Intel Mac 的终章。Apple silicon 的完整产品线两年前已完成过渡,现在 Apple 明确告诉开发者:是时候把所有精力放在 Apple silicon 上了。
代码片段
引导生成 + tool calling 完整示例:
@Generable struct Itinerary {
@Guide(.count(1...5))
let days: [DayPlan]
}
struct POITool: Tool {
let name = "findPOI"
func call(arguments: Arguments) async throws -> String {
let results = try await MKLocalSearch(request: .init(
naturalLanguageQuery: arguments.query
)).start()
return results.mapItems.map(\.name).joined(separator: ", ")
}
}
let session = LanguageModelSession(tools: [POITool()])
let stream = session.streamResponse(
generating: Itinerary.self,
prompt: "帮我规划大峡谷三日游"
)
最佳实践
-
Liquid Glass adoption 不要一步到位。先 recompile 看效果,再用 toolbar spacer、tint 等 API 微调,最后处理自定义控件。很多自定义背景和边框现在可以删掉了。
-
Foundation Models 用 playground 宏做 prompt engineering。在 Xcode 中用
#playground快速迭代不同 prompt,找到最佳结果后再集成到 app。 -
SwiftData 在今年获得了 model subclassing 和 entity inheritance。如果你之前因为数据模型灵活性不够而犹豫,现在可以重新评估。
-
Metal 4 的 neural rendering 是游戏图形的下一个范式。在 shader 中直接跑推理网络计算光照和材质,这对光线追踪的性能优化意义重大。
-
对于服务端 Swift 开发者,立即试试 Containerization 框架。它提供了在 Mac 上创建、下载、运行 Linux 容器的完整工具链。
还有什么值得关注
- App Intents 在 macOS Tahoe 的 Spotlight 中全面可用,用户可以直接从 Spotlight 调用你的 app actions 并填写参数。
- visionOS 26 的 enterprise APIs 更加开放:UVC 视频和 Neural Engine 不再需要企业许可证。
- SwiftCharts 3D 基于 RealityKit,在 visionOS 上可以放在空间环境中交互。
- GameSave 框架让游戏轻松实现跨设备云存档。
- WebKit 引入 Swift,使用新的 opt-in strict memory safety 特性确保与 C API 的安全交互。