19.4 · WidgetKit timelines, families, refresh budgets, interactivity and controls
A widget is not a running view. It is a timeline of snapshots that the system renders on its own schedule, which is why every widget bug is really a bug about time.
Mental model. You hand the system a list of future entries and a reload policy. The system decides when to draw and when to ask again.
Timelines and budgets
Providers, entries, policies, families and the refresh budget.
- How does a WidgetKit widget work: providers, timeline entries, reload policies, families and the refresh budget?
A widget is a SwiftUI view rendered from a timeline, hosted in a widget extension. You define a Widget with a StaticConfiguration (or an AppIntentConfiguration…
Interactive widgets and controls
Configuration intents, buttons, and Control Center controls.
- How do configurable widgets, interactive buttons and Control Center controls work with App Intents?
Since iOS 17 widgets can do more than display. Configurable widgets use an AppIntentConfiguration: the widget declares an WidgetConfigurationIntent (an App…
More in Extensions, widgets & intents
- 19.1 · Extension processes, limits, and sharing data with the app
- 19.2 · Notification Service and Notification Content extensions
- 19.3 · Share, Action, keyboards, message filtering, web extensions and network extensions
- 19.5 · App Intents, Shortcuts, Siri and Spotlight
- 19.6 · The watch app model, Watch Connectivity, and complications
- 19.7 · Top Shelf on tvOS, and treating extensions as a product API
- 19.8 · Timeline fallbacks, testing, bundles and rendering modes
- 19.9 · Dependencies, entities and queries, errors, and build-time metadata
- 19.10 · Info.plist, bundle ids, app group containers and shared payloads