SuperAPI AI 工具集

live-activities

前端与建站

查看项目

更新于 10-15 21:12

技能介绍

用途:在 iOS 应用中实现、审查或改进 Live Activities 与灵动岛体验,使用 ActivityKit 在锁屏、灵动岛、StandBy、CarPlay 和 Mac 菜单栏提供实时、可一瞥查看的信息。模式面向 iOS 26+ 与 Swift 6.2,除特别说明外向后兼容 iOS 16.1。

主要能力:定义 ActivityAttributes(静态属性加嵌套 ContentState);通过 Activity.request 启动、activity.update 更新、activity.end 结束并选择 dismissalPolicy;设置 staleDate 与 relevanceScore;锁屏布局与灵动岛 compact、minimal、expanded 区域;keylineTint;通过 APNs 推送更新与推送启动;iOS 26 的定时启动、ActivityStyle、Mac 菜单栏与 CarPlay 展示;iOS 18 的 channel 广播推送。

使用方式:在宿主应用 Info.plist 添加 NSSupportsLiveActivities = YES;定义 ActivityAttributes 与 ContentState;在 widget bundle 中创建 ActivityConfiguration;用 ActivityContent 调用生命周期 API;pushType 传 .token 并通过 activity.pushTokenUpdates 将令牌转发服务器;频繁更新可加 NSSupportsLiveActivitiesFrequentUpdates = YES。

适用场景:外卖配送、体育比分、出行与航班等需要实时状态展示的场景。

限制:灵动岛仅 iPhone 14 Pro 及以后机型可用,锁屏应作为主要界面;ContentState 每次更新都会序列化,需保持精简;ActivityAttributes 在锁屏可见,不应存放敏感信息;推送 content-state 的 JSON 必须与 ContentState 的 Codable 结构完全一致,否则会静默失败;活动需在所有代码路径结束,否则会滞留锁屏;需在真机测试,模拟器与真机灵动岛表现不同。完整代码模式见 references/live-activity-patterns.md。