SuperAPI AI 工具集

widgets

编程与开发

查看项目

更新于 10-16 01:33

技能介绍

用途:编写与审查 SwiftUI WidgetKit 代码,选取合适的配置、时间线策略与展示表面,使组件在各模式下正确渲染、在预算内刷新,并正确处理扩展与应用进程边界。

主要能力:按参考文档逐项校验执行模型(扩展进程、App Group、时间线生命周期、刷新预算)、时间线提供者(placeholder/snapshot/timeline、刷新策略、WidgetCenter 刷新)、配置与用户可配置参数(StaticConfiguration、AppIntentConfiguration、WidgetConfigurationIntent)、数据加载(网络、持久化、图片、定位)、各 family 布局、锁屏与 watch 组件、fullColor/accented/tinted/vibrant 渲染模式、交互(Button(intent:)、Toggle(intent:))、深链、动画与过渡、控制中心 ControlWidget、Live Activity 与灵动岛、Smart Stack 相关性、设计与上架展示、预览与调试、平台特定表面(visionOS、CarPlay、macOS 菜单栏),以及迁移与废弃 API(SiriKit→App Intents、ClockKit→WidgetKit、PreviewProvider→#Preview)。

使用方式:按任务路由加载对应参考文件,例如首个组件读 fundamentals/worked-example/timeline-provider/families-and-layout/previews-and-testing;可配置组件读 configuration-and-intents;锁屏与表盘读 lock-screen-and-watch;交互读 interactive-widgets;控制中心读 controls;Live Activity 读 live-activities;数据与网络读 data-and-networking;深链读 deep-linking-and-navigation;渲染模式读 rendering-modes-and-tinting;Smart Stack 相关性读 relevance-and-smart-stacks。也可用决策树选择配置、时间线提供者、刷新策略与交互元素。

适用场景:新建、审查、现代化改造或调试上述各类 SwiftUI 组件。

限制与约束:组件运行在独立扩展进程,始终为 SwiftUI,视图被归档后延迟渲染,代码在展示时不运行;应用与组件只能通过 App Group 共享数据;仅 Button(intent:)/Toggle(intent:) 与 Link/widgetURL 提供交互;需用 .containerBackground(for: .widget);placeholder(in:) 不得阻塞或异步取数;getSnapshot 应返回真实示例数据;刷新视为预算资源,系统每天约 40-70 次;TimelineReloadPolicy 为结构体,.after(_:) 接收 Date;新可配置组件须用 App Intents 路径;支持 family 需显式切换与列出;需为各渲染模式设计;AccentedRenderingMode 相关修饰符为 iOS 18+,iOS 17 及以下用 luminanceToAlpha;辅助组件可用空 containerBackground 保持透明;交互 AppIntent 运行在应用进程,变更后需调用 WidgetCenter.shared.reloadTimelines(ofKind:) 或 reloadAllTimelines(),控制需 ControlCenter.shared.reloadControls(ofKind:)。

资料未提供:具体收费、价格、平台支持范围之外的版本细节、实际效果数据以及官方文本;上述内容暂未提供。