CometCal 登场——Siri 理解 app 内容的第一步:Entity + Schema
deep_candidateJustin(Swift Intelligence Frameworks 团队)开场:Code-along 用 CometCal 演示 Siri 集成。App Schemas 描述 app 内容和动作,不需要训练短语。Xcode 自动补全 Calendar Domain snippet。CalendarEntity 用 @AppEntity macro + IndexedEntity 协议。
SirischemaApp IntentsApple Intelligencemodel
确认 App Schemas 的核心价值——无需 NLP 配置。 · source segments: 0–83
Entity query + @Dependency + Spotlight donation——内容可被发现
deep_candidate@Dependency 注入 CalendarManager。EntityQuery + EnumerableEntityQuery 使系统通过 ID 获取实体。IndexedEntity 自动捐入 Spotlight 索引。AttendeeEntity 用 TransientAppEntity,不独立查询,通过 Event 访问。
SirimodelsearchSwiftDataApp Intents
确认 IndexedEntity vs TransientAppEntity 的选择依据。 · source segments: 84–167
EventEntity——完整的 Schema 属性集合,包括关系和 union
deep_candidateEventEntity 包含 CalendarEntity 关系和 AttendeeEntity 数组。系统级枚举通过 snippet 自动填充。Recurrence 用 Foundation Calendar.RecurrenceRule。Location 是 union 值(PlaceDescriptor 或 String)。Siri 可搜索标题和笔记内容。
schemaSirimodelsearchCometCal
确认 Schema 属性的完整性和灵活性。 · source segments: 168–251
On-screen awareness + 创建 Intent——Siri 知道屏幕上有什么并执行操作
deep_candidateappEntityIdentifier 连接列表到 entity。userActivity 标记当前详情页的 entity。Siri 可理解「这个」「第三个」等引用。创建事件 Intent 通过 calendar_createEvent snippet 生成,Siri 处理语义理解、澄清和确认。
SirischemaAppIntentaiAI & Machine Learning
确认 on-screen awareness 的两个 modifier。 · source segments: 252–335
更新/删除 Intent + 自定义 Siri 结果视图——完整 CRUD + 品牌化
deep_candidateUpdateEventIntent 可选参数的 valueState(.set/.unset)区分不修改和清空。DeleteEventIntent 最简单。Siri 自动处理确认和歧义消解。ShowsSnippetView 让自定义 SwiftUI 视图替换 Siri 默认结果卡。
SiriSwiftUIAppIntentApp Intentsschema
确认 valueState 在更新 Intent 中的关键作用。 · source segments: 336–419