WWDC Quick Look 💓 By SwiftGGTeam
Platforms State of the Union

Platforms State of the Union

观看原视频

Highlight

Apple 将 Foundation Models framework 扩展为统一多模型 API,新增 Core AI 框架和增强的 App Intents,配合 Xcode 27 的 agentic coding,让开发者零成本构建 AI 功能并获得系统级流量入口。

核心内容

大模型进 App,成本是最大的门槛

想在 App 里用 AI,开发者面临一个经典困境:接 OpenAI 要付费,自己部署要运维,端侧模型能力又太弱。中小团队往往卡在第一步——算不清这笔账,项目直接搁置。

Apple 今年直接帮开发者把单买了。Foundation Models framework 新增 server models 支持,可以调用 Claude、Gemini 等第三方云端模型。更关键的是,App 首次下载量低于 200 万的开发者,调用 Apple Foundation Model 在 Private Cloud Compute 上运行完全免 API 费用。

这意味着一个独立开发者今天就可以开始写一个需要复杂推理的 AI 功能,不用担心月底收到天价账单。

App 不被发现,功能再好也白搭

你花三个月做了一个 AI 功能,用户却不知道它的存在。Siri 听不懂你的 App 能做什么,Spotlight 搜不到你的内容,系统 AI 根本看不见你。

App Intents 今年变成了系统级 AI 的”路由器”。通过 entity schemas 和 intent schemas,你的 App 内容会被编入 Spotlight semantic index,Siri 可以直接理解并调用你的功能。配合新的 View Annotations API,用户甚至可以指着屏幕上的内容说”把这个发给 Kevin”,系统就能准确定位并执行。

你的 App 不再是孤岛,而是系统智能网络中的一个节点。

从写代码到跑测试,AI 代理包办全流程

写代码只是开发的一部分。设计、测试、本地化、修 Bug,这些占用了开发者大量时间。

Xcode 27 的 agentic coding 让 AI 代理参与全流程。你描述需求,代理做计划、写代码、跑预览、测功能、修崩溃。Device Hub 把模拟器和真机统一管理,Previews 支持任意属性的变体展示。Xcode Cloud 构建速度翻倍,且不再需要 App Store Connect 配置。

开发者的角色从”手写每一行代码”变成”描述问题、审查方案、验证结果”。

详细内容

Foundation Models framework:一个 API 调用任何模型

02:56)今年的 Foundation Models framework 从单一端侧模型扩展为统一多模型 API。核心变化有三点。

第一,多模态输入。 现在可以直接在 prompt 中附加图片,模型会同时理解文本和图像内容。

import FoundationModels

let session = LanguageModelSession()

func brainstormProject(image: Image, theme: String) async throws -> String {
    let prompt = Prompt(
        "根据这张图片和主题,给我三个折纸项目创意。",
        images: [image]
    )
    let response = try await session.generateText(for: prompt)
    return response.text
}

关键点:

  • LanguageModelSession() 创建一个与模型交互的会话
  • Prompt 同时接收文本和图片,实现多模态理解
  • generateText(for:) 发送请求并获取生成结果

Vision framework 也被集成进来,提供 OCR 精确文字提取和条码扫描等工具,全部在端侧完成。

第二,server models 支持。 复杂任务可以无缝切换到 Claude、Gemini 等云端模型。任何模型提供商都可以通过 Swift package 实现 Language Model protocol。

import FoundationModels
import ClaudeProvider // 第三方 Swift package

let profile = DynamicProfile {
    Profile("创意生成") {
        LanguageModel.claude
        Temperature(0.8)
    }
    Profile("深度推理") {
        LanguageModel.appleFoundationModel
        ReasoningLevel(.deep)
    }
}

关键点:

  • 通过 Swift package 引入第三方模型提供商
  • DynamicProfile 允许在同一个 session 中动态切换模型
  • Temperature(0.8) 控制生成结果的创造性

第三,Dynamic Profiles。 这是新的声明式 API,让你在同一会话中根据场景切换模型、工具和指令。

import FoundationModels

let session = LanguageModelSession(profile: origamiProfile)

var origamiProfile: DynamicProfile {
    DynamicProfile {
        Profile("创意生成") {
            LanguageModel.appleFoundationModel
            Temperature(0.8)
        }
        Profile("教程生成") {
            LanguageModel.appleFoundationModel
            ReasoningLevel(.deep)
        }
        Profile("术语解释") {
            LanguageModel.systemLanguageModel // 端侧模型
        }
    }
}

关键点:

  • 三个 Profile 共享同一个连续 transcript,上下文不会丢失
  • 简单任务用端侧 systemLanguageModel,复杂任务用云端
  • Profile 在每次模型回合时重新计算,自动保持最新状态

12:17)配套工具也全面升级:Evaluations framework 测试 prompt 可靠性,FM instrument 可视化调试模型行为,fm CLI 工具支持终端直接调用。更有基于 Core Spotlight 的私有 RAG 工具,以及即将开源的 Foundation Models Swift package——同一套 API 既跑在 App 里,也能跑在服务器上。

Core AI:把任何模型带到设备端

13:15)如果你有自己的模型要部署在设备上,Core AI 是最佳选择。它提供内存安全的 Swift API,支持细粒度的量化管理和模型特化,还能写自定义 GPU kernel。

配套的 Python 工具可以转换和优化 PyTorch 模型。编译器支持提前编译(AOT), instruments 和可视化调试器能追踪张量值,直接映射回原始 Python 源码。

从 iPhone 上的实时视觉模型,到 Mac 上的数十亿参数 LLM agent,Core AI 都能处理。零服务器依赖,零 token 成本。

App Intents:让系统 AI 发现和使用你的 App

14:45)App Intents 的核心是 schemas——系统预定义的结构化模板,Siri 通过多年的语言模型训练深度理解它们。

import AppIntents

@EntitySchema
struct MessageEntity: IndexedEntity {
    let id: UUID
    let content: String
    let sender: ContactEntity
}

@IntentSchema
struct SendMessageIntent: AppIntent {
    static var title: LocalizedStringResource = "发送消息"

    @Parameter(title: "收件人")
    var recipient: ContactEntity

    @Parameter(title: "内容")
    var message: String

    func perform() async throws -> some IntentResult {
        try await MessageService.send(to: recipient, content: message)
        return .result()
    }
}

关键点:

  • @EntitySchema@IntentSchema 让 Siri 理解你的内容和操作
  • IndexedEntity 协议让内容自动编入 Spotlight semantic index
  • 系统预定义 schemas 覆盖任务管理、照片编辑、通信等类别

16:27)View Annotations API 让屏幕内容与实体关联。用户说”把这个发给 Kevin”,系统能识别”这个”指的是屏幕上的哪张图片。

import SwiftUI
import AppIntents

struct MessageListView: View {
    var messages: [MessageEntity]

    var body: some View {
        List(messages) { message in
            MessageRow(message: message)
                .entityAnnotation(message)
        }
    }
}

关键点:

  • .entityAnnotation(message) 把列表行与对应的 MessageEntity 关联
  • 用户用自然语言引用屏幕内容时,系统能准确定位
  • 配合 App Intents,用户无需学习特定指令

SwiftUI:更少代码,更多能力

29:12)SwiftUI 今年在交互、速度和功能上都有实质改进。

拖拽排序现在一行代码搞定:

Grid {
    ForEach(origamiModels) { model in
        OrigamiCard(model: model)
            .reorderable()
    }
}
.reorderContainer()

Swipe actions 也不再局限于 List:

ScrollView {
    ForEach(projects) { project in
        ProjectRow(project: project)
            .swipeActions {
                Button("删除", role: .destructive) { delete(project) }
            }
    }
}
.swipeActionsContainer()

32:40)Toolbar 新增了 visibilityPriorityoverflowMenu,窗口缩小时重要按钮自动保留,次要按钮折叠进菜单。

33:53)Document-based App 有了全新基础设施,支持直接读写文件 URL、部分更新、Observable 配置,深度集成 Swift concurrency。

34:25)Spatial Preview 框架让 Mac App 可以将 3D 模型实时串流到 Apple Vision Pro 进行空间预览和编辑。

Swift 6.4:日常编码更顺畅

38:41)Swift 6.4 专注解决日常摩擦。

// 跨平台版本声明从冗长到简洁
@available(anyAppleOS, introduced: 27.0)
func newFeature() { }

// defer 中直接 await
defer {
    await cleanupResources()
}

// 局部警告控制
#warning("暂时兼容旧版本", as: .warning)
#warning("新代码必须处理错误", as: .error)

关键点:

  • anyAppleOS 替代列举每个平台版本号
  • defer 中可以直接使用 await
  • 警告可按区域控制级别,迁移期特别有用

39:55)最头痛的 “The compiler is unable to type check this expression in reasonable time” 错误在常见场景下大幅减少,要么直接编译通过,要么给出更有可操作性的错误信息。

Xcode 27:Agentic Coding 全流程

42:47)Xcode 27 体积缩小 30%,Apple silicon 独占,组件后台自动更新。iCloud 同步设置,换 Mac 一键恢复开发环境。新建项目不再需要填 bundle ID,点选模板直接进入编辑器。

45:46)主题系统全面个性化,整个 IDE 的配色可自定义,每个项目还能设不同主题。

47:54)Device Hub 替代 Simulator,统一管理模拟器和真机。支持动态调整 iOS App 尺寸、切换系统设置、直接从 Mac 启动和交互真机。

50:12)Agentic coding 是最大亮点。用 /plan 指令让代理先出方案,确认后再实现。代理会探索项目结构、问澄清问题、生成代码、创建预览。

53:18)代理还能自动测试——在 Device Hub 中点击、滑动、输入,生成测试报告和截图。本地化也不在话下,代理会看上下文翻译字符串,不只是逐词替换。

55:13)Organizer 中的崩溃报告可以直接丢给代理分析、定位、复现、修复、验证,全程自动化。

核心启发

  • 做一个”拍照定制”的本地电商 App:用户拍一张家里角落的照片,App 用 Foundation Models 的多模态能力推荐适合该场景的家具,端侧模型处理图片理解,云端模型生成详细推荐语。200 万下载量以下零成本。

  • 做一个自然语言控制的笔记 App:用 App Intents 暴露”创建笔记""搜索笔记""分享笔记”等操作,用户通过 Siri 说”把我刚才拍的会议白板整理成笔记并分享给团队”,系统自动识别屏幕内容并执行。

  • 做一个完全本地运行的隐私敏感 AI 工具:用 Core AI 部署一个本地文档分析模型,用户上传的敏感文件(合同、病历)完全不出设备,零服务器依赖,零订阅费用。

  • 用 Xcode agent 三天原型一个多语言社交 App:从需求描述开始,让代理生成 SwiftUI 界面、Foundation Models 集成、多语言支持。代理负责测试不同语言下的 UI 适配,开发者只负责审查和调整。

  • 做一个支持用户自定义 AI agent 的创作工具:用 Dynamic Profiles 让用户自己配置”创意助手""校对员""翻译官”等多个角色,每个角色用不同模型和参数,在同一个项目中协同工作。

关联 Session

评论

GitHub Issues · utterances