View in English

  • Apple 开发者
    • 入门汇总

    探索“入门汇总”

    • 概览
    • 学习
    • Apple Developer Program

    及时了解最新动态

    • 最新动态
    • 开发者你好
    • 平台

    探索“平台”

    • Apple 平台
    • iOS
    • iPadOS
    • macOS
    • Apple tvOS
    • visionOS
    • watchOS
    • App Store

    精选

    • 设计
    • 分发
    • 游戏
    • 配件
    • 网页
    • Home
    • CarPlay 车载
    • 技术

    探索“技术”

    • 概览
    • Xcode
    • Swift
    • SwiftUI

    精选

    • 辅助功能
    • App Intents
    • Apple 智能
    • 游戏
    • 机器学习与 AI
    • 安全性
    • Xcode Cloud
    • 社区

    探索“社区”

    • 概览
    • “与 Apple 会面交流”活动
    • 社区主导的活动
    • 开发者论坛
    • 开源

    精选

    • WWDC
    • Swift Student Challenge
    • 开发者故事
    • App Store 大奖
    • Apple 设计大奖
    • Apple Developer Centers
    • 文档

    探索“文档”

    • 文档库
    • 技术概述
    • 示例代码
    • 《人机界面指南》
    • 视频

    发布说明

    • 精选更新
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • Apple tvOS
    • Xcode
    • 下载

    探索“下载”

    • 所有下载
    • 操作系统
    • 应用程序
    • 设计资源

    精选

    • Xcode
    • TestFlight
    • 字体
    • SF Symbols
    • Icon Composer
    • 支持

    探索“支持”

    • 概览
    • 帮助指南
    • 开发者论坛
    • “反馈助理”
    • 联系我们

    精选

    • 《开发者账户帮助》
    • 《App 审核指南》
    • 《App Store Connect 帮助》
    • 即将实行的要求
    • 协议和准则
    • 系统状态
  • 快速链接

    • 活动
    • 新闻
    • 论坛
    • 示例代码
    • 视频
 

视频

打开菜单 关闭菜单
  • 专题
  • 所有视频
  • 关于

更多视频

  • 简介
  • 概要
  • 代码
  • 使用 App Schemas 打造智能 Siri 体验

    利用 App Intents,将你 App 的内容和操作带到 Siri。通过 App Entities 对数据进行建模,使用 App Schemas 实现强大的系统操作,并为依托 Apple 智能的自然语言交互提供支持。探索如何启用语义搜索、跨 App 执行操作,以及利用屏幕感知和内容传输功能打造贴合情境的用户体验。了解一些最佳做法和测试工具,助你构建快速、可靠的 Siri 体验。

    章节

    • 0:00 - Introduction
    • 1:06 - What's new in Siri
    • 4:06 - Contributing content with App Entities
    • 6:21 - Entity resolution and IndexedEntity
    • 9:49 - Making actions available
    • 12:03 - Adopting a schema domain in UnicornChat
    • 15:39 - Moving content across apps
    • 16:00 - Working across apps: onscreen awareness
    • 21:09 - Best practices
    • 24:18 - Testing your integration
    • 26:21 - Next steps

    资源

    • Integrating your messaging app with Apple Intelligence
    • Donating your app’s data and actions to the system
    • Making app entities available in Spotlight
    • Making actions and content discoverable by Apple Intelligence
    • Providing contextual cues to Apple Intelligence and Siri
    • Apple Intelligence and Siri AI
    • Messages
    • App schema domains
      • 高清视频
      • 标清视频

    相关视频

    WWDC26

    • 探索适用于 Siri 和 Apple 智能的 App Intents 高级功能
    • 跟随编程:让你的 App 支持 Siri
  • 搜索此视频…
    • 7:59 - Contributing message content to Apple Intelligence

      // Contributing message content to Apple Intelligence
        
        @AppEntity(schema: .messages.message)
        struct MessageEntity: IndexedEntity {
      
            // The text content of the message
            @Property(indexingKey: \.textContent)
            var body: AttributedString?
        }
    • 8:36 - An interface that locates entities using arbitrary string input

      // An interface that locates entities using arbitrary string input
      
        struct ContactQuery: EntityStringQuery {
            func entities(matching string: String) async throws -> [ContactEntity] {
                let predicate = #Predicate<Person> { person in
                    person.name.localizedStandardContains(string)
                }
                let descriptor = FetchDescriptor<Person>(predicate: predicate)
                let matches = try modelContext.fetch(descriptor)
                return matches.map(\.entity)
            }
        }
    • 17:19 - Working across apps - View annotations

      // Working across apps - View annotations
        
        List {
            ForEach(messages) { message in
                MessageRow(message: message)
                    .appEntityIdentifier(
                        EntityIdentifier(
                            for: MessageEntity.self,
                            identifier: message.id
                        )
                    )
            }
        }
    • 18:18 - Working across apps - Exporting content to another app

      // Working across apps - Exporting content to another app
        
        extension ContactEntity: Transferable {
      
            static var transferRepresentation: some TransferRepresentation {
                IntentValueRepresentation(
                    exporting: \.person
                )
            }
        }
    • 19:21 - Working across apps - IntentValueQuery

      // Working across apps - IntentValueQuery
      
        struct ContactEntityQuery: IntentValueQuery {
      
            func values(for input: [IntentPerson]) async throws -> [ContactEntity] {
                let names = input.map(\.displayName)
                let descriptor = FetchDescriptor<Contact>()
                let contacts = try model.mainContext.fetch(descriptor)
                let matches = contacts.filter { contact in
                    names.contains(where: { name in
                        contact.name.localizedStandardContains(name)
                    })
                }
                return matches.map(\.entity)
            }
        }
    • 20:00 - Working across apps - IntentValueRepresentation

      // Working across apps - IntentValueRepresentation
      
        extension ContactEntity: Transferable {
      
            static var transferRepresentation: some TransferRepresentation {
                IntentValueRepresentation(exporting: \.person, importing: { intentPerson in                    
                    let contact = Contact(importing: intentPerson)
                    ContactManager.shared.contacts.append(contact)
                    return contact.entity
                })
            }
        }
    • 0:00 - Introduction
    • How App Intents bring your app to Siri, made more capable, contextual, and personal by Apple Intelligence in the 27 releases. Previews the agenda: what's new, contributing content, making actions available, working across apps, and best practices.

    • 1:06 - What's new in Siri
    • Siri gains three capabilities built on App Intents: accessing your app's entities, taking action through your intents, and understanding onscreen context. Introduces the UnicornChat sample app used throughout the session.

    • 4:06 - Contributing content with App Entities
    • Model your app's content as App Entities (what a thing is, how it's identified, and which properties matter), then conform them to an App Schema so Siri understands the category of content.

    • 6:21 - Entity resolution and IndexedEntity
    • How Siri resolves spoken references to real entities. Adopt IndexedEntity for semantic search and content Q&A over indexed content, using indexingKey to mark searchable properties, or EntityStringQuery when data can't be indexed ahead of time.

    • 9:49 - Making actions available
    • App Intents expose actions across Shortcuts, Spotlight, and Widgets. Conforming intents to App Schemas, and grouping them into App Schema domains, makes those actions executable by Siri through natural language.

    • 12:03 - Adopting a schema domain in UnicornChat
    • End-to-end walkthrough of adopting the Messages domain's sendMessage schema: mapping schema parameters onto UnicornChat's messaging flow and returning the sent message as an entity, so Siri can send messages without opening the app.

    • 15:39 - Moving content across apps
    • Export entities with Transferable and IntentValueRepresentation so other apps can act on them. On import, use IntentValueQuery to match existing content or IntentValueRepresentation(importing:) to create something new.

    • 16:00 - Working across apps: onscreen awareness
    • Requests that span apps rely on onscreen awareness. Connect views to App Entities, via NSUserActivity for a single primary item or view annotations for multiple visible items, so Siri can resolve references like "this" and "that."

    • 21:09 - Best practices
    • Design for complete Siri conversations by adopting full schema sets. Xcode surfaces missing related schemas (for example draftMessage alongside sendMessage) at build time with Fix-Its.

    • 24:18 - Testing your integration
    • Validate progressively: App Intents Testing for business logic in isolation, then the Shortcuts app for intent shape, Spotlight for content indexing, and finally Siri for the full end-to-end experience.

    • 26:21 - Next steps
    • Model and index entities, adopt the App Schema domains matching your app, enable content transfer with Transferable, and test early with Shortcuts, Spotlight, and Siri.

Developer Footer

  • 视频
  • WWDC26
  • 使用 App Schemas 打造智能 Siri 体验
  • 打开菜单 关闭菜单
    • iOS
    • iPadOS
    • macOS
    • Apple tvOS
    • visionOS
    • watchOS
    打开菜单 关闭菜单
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    打开菜单 关闭菜单
    • 辅助功能
    • 配件
    • Apple 智能
    • App 扩展
    • App Store
    • 音频与视频 (英文)
    • 增强现实
    • 设计
    • 分发
    • 教育
    • 字体 (英文)
    • 游戏
    • 健康与健身
    • App 内购买项目
    • 本地化
    • 地图与位置
    • 机器学习与 AI
    • 开源资源 (英文)
    • 安全性
    • Safari 浏览器与网页 (英文)
    打开菜单 关闭菜单
    • 完整文档 (英文)
    • 部分主题文档 (简体中文)
    • 教程
    • 下载
    • 论坛 (英文)
    • 视频
    打开菜单 关闭菜单
    • 支持文档
    • 联系我们
    • 错误报告
    • 系统状态 (英文)
    打开菜单 关闭菜单
    • Apple 开发者
    • App Store Connect
    • 证书、标识符和描述文件 (英文)
    • 反馈助理
    打开菜单 关闭菜单
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program (英文)
    • Mini Apps Partner Program
    • News Partner Program (英文)
    • Video Partner Program (英文)
    • 安全赏金计划 (英文)
    • Security Research Device Program (英文)
    打开菜单 关闭菜单
    • 与 Apple 会面交流
    • Apple Developer Center
    • App Store 大奖 (英文)
    • Apple 设计大奖
    • Apple Developer Academies (英文)
    • WWDC
    阅读最近新闻。
    获取 Apple Developer App。
    版权所有 © 2026 Apple Inc. 保留所有权利。
    使用条款 隐私政策 协议和准则