WWDC 2024 主题演讲
Keynote (ASL)
2024年6月10日
一句话判断
WWDC 2024 Keynote 的核心叙事只有一个:Apple Intelligence——从系统级 AI 能力到开发者工具链,Apple 在全面铺设自己的 AI 基础设施。
这场 Session 讲了什么
这场 Keynote 是 WWDC 2024 的开幕演讲,Tim Cook 开场后就迅速进入平台更新和 AI 战略的发布。整个演讲可以分成三个板块。
第一板块是平台更新。visionOS 2 是重点:支持将普通 2D 照片用机器学习转换为空间照片、Mac Virtual Display 升级为超宽 4K 显示、Travel Mode 新增火车支持、开发者获得 TabletopKit 和企业级 API 等新工具。visionOS 发布仅四个月就已有超过 2000 个原生空间应用。此外还有 iOS 18(自定义主屏布局、控制中心重构、密码管理器独立为 App)、iPadOS 18(计算器 App 终于来了、Apple Pencil 的 Math Notes)、macOS Sequoia(窗口平铺、iPhone 镜像)、watchOS 11(训练负荷、健康洞察)的常规年度更新。
第二板块是 Apple TV+ 的内容更新和 Apple Intelligence 的正式发布。Apple Intelligence 贯穿了系统体验的每个层面:写作工具(全系统可用的文本重写、摘要、校对)、图像生成(Genmoji、Image Playground)、Siri 的大幅升级(更自然的语言理解、屏幕上下文感知、App Intents 深度集成)。Private Cloud Compute 是配套的云推理架构,声称用专门的 Apple 芯片服务器处理复杂 AI 请求,数据不被存储或访问。
第三板块面向开发者,介绍了 Xcode 16 中的预测式代码补全、Swift 6 语言模式、Controls API(自定义控制中心组件)、App Intents 框架增强等开发工具更新。
值得深挖的点
Apple Intelligence 的端云混合架构
Apple Intelligence 的架构设计是一个端云混合模型。简单任务(文本摘要、通知排序、基础图像生成)在设备本地用神经引擎完成,不离开设备。复杂任务(需要大模型推理的长文本分析、复杂代码生成)通过 Private Cloud Compute 发送到云端处理。
Private Cloud Compute 的安全模型有几个值得注意的承诺:请求数据不会被 Apple 存储或访问;服务器运行专门构建的操作系统,软件透明可审计;服务器硬件使用 Apple 芯片,不是通用云服务器。但 Session 没有深入技术细节,更多是方向性的声明。对于开发者来说,关键是理解哪些场景走端侧、哪些走云侧——这决定了延迟和离线可用性。
visionOS 2 的 2D 照片转空间照片
这个功能在 Keynote 中只是短短几分钟的展示,但技术含量很高。系统用机器学习从一张 2D 照片中同时推导出左眼和右眼的视角,生成具有自然深度的空间照片。这意味着用户 Photo Library 中所有现有的 2D 照片都可以”升级”为空间照片。
这个能力对 visionOS 生态的意义在于内容供给。空间内容一直被认为是 visionOS 发展的瓶颈——不是每个人都有空间视频拍摄设备。现在通过 AI 转换,内容池瞬间扩大到所有照片。对于开发者来说,如果你的 App 处理照片内容,需要考虑如何适配空间照片的展示和编辑。
代码片段
这场 Keynote 是产品发布而非技术教学,没有具体的代码示例。以下是与 Keynote 公告相关的开发者操作指南:
场景一:为 iOS 18 准备控制中心自定义控件
// iOS 18 新增 Controls API
// 允许开发者创建自定义控制中心组件
import WidgetKit
import AppIntents
// 定义控制中心控件
struct QuickCaptureControl: ControlWidget {
var body: some ControlWidgetConfiguration {
ControlWidgetProvider { intent in
// 控件的 UI 和行为定义
ControlWidgetToggle(
"快速拍摄",
isOn: true,
action: StartCaptureIntent()
)
}
}
}
// 坑点:控件需要在 Info.plist 中声明
// 且用户需要手动添加到控制中心
// App 无法编程式将控件添加到控制中心
场景二:适配 Apple Intelligence 的 Siri 升级
// Siri 在 iOS 18 中获得了更强的上下文理解能力
// 开发者需要通过 App Intents 框架暴露功能
import AppIntents
struct SearchTransactionsIntent: AppIntent {
static var title: LocalizedStringResource = "搜索交易记录"
static var description = IntentDescription("按条件搜索金融交易")
@Parameter(title: "商户名称")
var merchantName: String?
@Parameter(title: "金额范围")
var amountRange: ClosedRange<Double>?
func perform() async throws -> some IntentResult {
// 执行搜索逻辑
// Siri 会根据用户自然语言指令自动填充参数
let results = try await searchTransactions(
merchant: merchantName,
amountRange: amountRange
)
return .result(value: results)
}
}
// 坑点:App Intent 的描述文本质量直接影响 Siri 的理解准确度
// 不要用技术术语,用用户语言描述功能
场景三:visionOS 2 空间照片 API 的准备
// visionOS 2 中,2D 照片可以自动转换为空间照片
// 开发者需要注意如何正确展示空间照片
import PhotosUI
// 在 visionOS 中展示空间照片
struct SpatialPhotoView: View {
let photo: PHAsset
var body: some View {
// 使用 PhotosUI 的空间展示能力
// 系统会自动判断资产是否为空间照片
// 如果是,会以立体模式展示
// 如果是 2D 照片,在 visionOS 2 中可以尝试转换
// 坑点:转换是系统自动完成的,开发者不需要手动调用
// 但需要确保 Photos 权限配置正确
PhotosView(asset: photo)
}
}
最佳实践
- Apple Intelligence 适配:优先通过 App Intents 框架暴露 App 的核心功能。这是 Siri 升级后能理解和调用你 App 的前提。每个 Intent 都要写清楚自然语言描述,这是 Siri 匹配用户请求的依据。
- visionOS 2 迁移:如果你的 App 已经有 visionOS 版本,重点测试 Mac Virtual Display 的超宽模式和新手势(手掌朝上打开控制中心)。如果你的 App 处理照片,确保能正确展示空间照片。
- Swift 6 准备:Keynote 宣布了 Swift 6 语言模式。建议在 Xcode 16 中先开启 Complete Concurrency Checking,逐步修复并发警告。
还有什么值得关注
- iOS 18 的主屏自定义能力终于允许用户自由放置 App 图标(不再强制网格对齐),这改变了多年来的布局逻辑
- 密码管理器从 iCloud Keychain 中独立为 Passwords App,跨平台支持 iOS、iPadOS、macOS 和 Windows
- macOS Sequoia 的 iPhone 镜像功能允许在 Mac 上直接操作 iPhone,包括运行 iOS App