SuperAPI AI 工具集

widget-generator

通用与其它

查看项目

更新于 10-16 08:10

技能介绍

用途:当用户要为应用添加小组件、提到 WidgetKit、主屏或锁屏小组件、时间线提供器、交互式小组件或 App Intent 小组件配置时,此技能可生成一套完整的 WidgetKit 实现。

主要能力:生成小组件定义与配置、时间线提供器、时间线条目数据模型、按尺寸区分的视图、App Intent(可配置或交互式),并在需要时更新 WidgetBundle。支持主屏的 systemSmall、systemMedium、systemLarge、systemExtraLarge(仅 iPad),以及锁屏的 accessoryCircular、accessoryRectangular、accessoryInline。支持静态配置、可配置(iOS 17+)与交互式(iOS 17+,含按钮和开关)。数据源可为本地数据、App Groups 共享数据或网络 API。

必要用法:需先创建 Widget Extension target(File > New > Target > Widget Extension);跨主应用与小组件共享数据时启用 App Groups,并在两个 target 使用相同的 group identifier;仅允许一个 @main,多小组件用 WidgetBundle 注册;数据变化时在主应用中调用 WidgetCenter.shared.reloadTimelines(ofKind:) 触发刷新;App Group 数据通过 UserDefaults(suiteName:) 写入。

限制:系统限制时间线刷新频率,通常每天约 40–70 次;小组件扩展内存上限 40MB;iOS 17+ 视图必须使用 .containerBackground(for: .widget);锁屏配件渲染色彩空间有限;不支持显式动画、滚动、MapKit 与 AVKit;getTimeline 中的网络请求须快速完成;AppIntent 配置值由系统存储,不应依赖 UserDefaults。以上均来自公开技能资料,具体模板代码见其 templates.md。